最简单的方法
移位来运算:N>>=1;然后用N 同1进行“与”运算,来判断末尾是否为1
下面有更快的方法;
快速的方法:判断某一位置是否是1的一个方法,v&=(v-1);
最经典:
?
位操作比除、余操作的效率高了很多。但是,即使采用位操作,时间复杂度仍为O(log2v),log2v为二进制数的位数。那么,还能不能再降低一些复杂度呢?如果有办...
分类:
其他好文 时间:
2016-05-13 04:17:49
阅读次数:
307
同事家的小朋友上了一年级,学校布置作业要学习20以内的加减法运算,而且必须是有进位或者减位的。
比如18-9=9 或者7+6=13
觉得专门写一堆题目没啥意思,于是用python+tkinter写个小程序,然后用cx_freeze打包成exe文件,能够随机出题,并检验回答是否正确。新手上路,难免遇到很多问题。
代码如下:
#!/usr/bin/env python
# -*- codin...
分类:
编程语言 时间:
2016-05-13 02:55:02
阅读次数:
200
部分转载自here
常用HASH算法 代码 & 比较
常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。
常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHas...
分类:
其他好文 时间:
2016-05-13 02:45:56
阅读次数:
195
??
Hug the princess
Time Limit: 1000MS
Memory Limit: 65535KB
64bit IO Format: %lld & %llu
Submit Status
Description
There is a sequence with n elements.
Assuming...
分类:
其他好文 时间:
2016-05-13 01:19:14
阅读次数:
306
主要总结下java的位运算符的操作。java的位运算符不紧可以提高运行效率,同时也有会意想不到的效果(java.util.ArrayDeque有很好的体现),在后续中会举例说明。
开始说位运算符之前,先简单的复习下补码的知识,然后举个简单的例子说明下计算机中的补码操作(计算机中的加减法)。
补码
计算机进行加减法操作时,都是以补码进行操作的,所以ja...
分类:
编程语言 时间:
2016-05-13 01:07:29
阅读次数:
225
1. if-else 判断
关系运算
大于
== 等于
= 大于等于
!= 不等于
1.2 逻辑运算符
1.3 条件运算符
算术运算 > 比较运算 > 逻辑运算。
多项运算: switch语句, goto语句, 位运算符...
分类:
其他好文 时间:
2016-05-12 22:56:59
阅读次数:
212
原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
计算机表示出来的是原码,在内存中参与计算的是补码。
...
分类:
其他好文 时间:
2016-05-12 21:10:46
阅读次数:
189
一、运算符1、前置或后置增量/减量i++、++i;i–、i++i++和i–的运算方式是先运算后增加(或减少);
++i和–i的运算方式是先增加(减少)后运算。2、算数运算符+、-、*、/、%3、字符串串联符+4、移位运算符和按位运算符<>(右移)、>>>(按右移补零操作符)左移是在原来的数的基础上增加一倍;
右移是在原来的数的基础上减少一倍;
按右移补零操作符是在右移的基础上区分...
分类:
其他好文 时间:
2016-05-12 20:29:20
阅读次数:
155
Single Number II
Given an array of integers, every element appears three times except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implem...
分类:
其他好文 时间:
2016-05-12 18:41:48
阅读次数:
149
运算符是一种特殊的符号,用以表示数据的运算,赋值和比较等。
Java语言使用运算符将一个或多个操作数连缀成执行性语句,用以实现特定功能。
Java语言中的运算符可分为如下几种:
1),算术运算符
2),赋值运算符
3),比较运算符
4),逻辑运算符
5),位运算符
6),类型相关运算符。
算术运算符
Java支持所有的基本算术运算符,整理一下一共有7种。
1),加法运...
分类:
其他好文 时间:
2016-05-12 17:22:47
阅读次数:
245