杂类

cambra / 2023-08-25 / 原文

1. 给定一个数字,计算其作为二进制的1的个数

  1. 第一种做法是toBinaryString()函数

  2. 第二种是Integer.bitCount()的实现方式 -- -- -- 源码未跟


 

2. 最小的k个数字的方式

  1. 归并的实现方式

  2. Arrays.sort()的排序方式,以及Arrays.copy()的实现的源码


 

3. 不使用加减乘除进行数字的加法

while(b != 0){
    fl = (a&b)<<1;
    a = a^b;
    b = fl;    
}
return a;

 4. 青蛙跳台阶的方式的合计,可以跳一个台阶,或者跳两个台阶,状态转移方程是 : f(n) = f(n-1) + f(n-2)


 

5. 循环无其他超时操作,上亿次的循环用的时间是几秒