![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Thxubi
sssssssssssssssssssssd
展开
-
二分查找防止溢出的技巧
对于二分查找中的中点值选取 mid = (high + low) / 2; 更好的替换方式为: mid = low + (high - low) / 2; 因为前一种方式容易造成数据溢出,后一种则不会。 另外也可以用位运算的方式进行运算,看起来会高级一点。。。 // 只适用于正数 mid = (low >> 1) + (high >> 1) + (low & 1 & high); 右移相当于除二,如果两个数都是奇数的话还要加上一个1,注意位运算的优先级很低,要加原创 2022-01-12 18:08:22 · 863 阅读 · 0 评论 -
C模拟补码一位乘法(booth算法)
代码如下 #include <stdio.h> #include <string.h> #include <stdlib.h> #define MAX_LENGTH 30 void bin_plus(int *A, int *B, int len); void bin_print(int *b, int len, char c, int loc); void bin_right(int* b, int len); int main(void) { int A.原创 2021-10-09 20:29:15 · 1218 阅读 · 0 评论 -
Python输出数组全排列(递归法)
递归函数f def f(list_start: list, list_remain: list): if len(list_remain) == 1: print(list_start+list_remain) else: for i in range(len(list_remain)): list_temp_remain = list_remain.copy() f(list_start+[list_temp_原创 2021-07-27 17:38:02 · 1073 阅读 · 0 评论