算法很美系列笔记
算法很美系列笔记
BabyQ12138
为往圣继绝学
展开
-
递归0216
数组求和 其中引入参数begin作为变化的量 根据变化的量找到函数的结束位置 public static int f3(int[] arr,int begin) { //当数组长度为0时结束 if(begin==arr.length) { return 0; } return arr[begin++]+f3(arr,begin);//第0项加上剩下的数组求和 } 翻转字符串 翻转出来的下标作为引入的参数 作为变化的量 控制函数的进行和函数的结束 //翻转字符串 publi原创 2022-02-17 00:02:41 · 331 阅读 · 0 评论 -
浮点数0215
0~1之间的实数(double)转换为二进制 *2 整数转换为二进制 /2 *2算小数的二进制 /2算整数的二进制 Scanner sc=new Scanner(System.in); Double N = sc.nextDouble(); StringBuilder sb=new StringBuilder("0."); while(N!=0) { N*=2; if(N>=1) { sb.append("1"); N-=1; }else { s原创 2022-02-15 23:08:30 · 162 阅读 · 0 评论 -
位运算0214
与& 或| 异或^ 实质上 是在或的基础上让1^1 的值也成为了0 仅使1^0的 值为1 非(取反)~ 判断奇偶数 x&1 =0则是偶数 =1 则是奇数 找出唯一的数 A^A=0 0^B=B 则A^ A ^ B^ C ^C=B 不需要的凑偶数个 需要的保留奇数个 确定哪些数据不需要 先对不需要的数据进行异或 初始值选择0 然后再对数组进行异或 最后的结果就是多出来的数值 总结: 这种方法(异或法^)适用于 已经知道有哪些数据 且仅有唯一数据重复的情况 import java.util.Ran原创 2022-02-14 21:00:44 · 288 阅读 · 0 评论