07 2022 档案

摘要:__builtin_popcount()函数 作用:__builtin_popcount ()用于计算一个 32 位无符号整数有多少个位为1 n = __builtin_popcount(val); 阅读全文 »
posted @ 2022-07-29 11:28 西北小蚂蚁 阅读(358) 评论(0) 推荐(0) 编辑
摘要:== 和 &的优先级熟高? 答案:==的优先级高于& 阅读全文 »
posted @ 2022-07-29 11:18 西北小蚂蚁 阅读(297) 评论(0) 推荐(0) 编辑
摘要:位运算之>>——右移 右移填充的数: 有符号数的话是最高位的那个数,正数为1,负数为0; 无符号数填充的是0,无论正负; 阅读全文 »
posted @ 2022-07-28 19:00 西北小蚂蚁 阅读(87) 评论(0) 推荐(0) 编辑
摘要:1、二进制数按位依次取出 代码: for(i = 0; i<32; i++) { a[i] = val & 1; val = val >> 1; } 2、清除二进制最低位的1 x = x & (x-1) 3、综合 阅读全文 »
posted @ 2022-07-25 13:55 西北小蚂蚁 阅读(27) 评论(0) 推荐(0) 编辑
摘要:异或: 两数异或相同为0不同为1; 异或的性质: 1、任何数与自身异或都是0:a ^ a = 0; 2、任何数与0异或都是本身:a ^ 0 = a; 3、异或运算满足交换律和结合律:a ^ b ^ a = a ^ a ^ b = 0 ^ b = b; 4、a^b=c -> a^b^b=c^b -> 阅读全文 »
posted @ 2022-07-25 11:42 西北小蚂蚁 阅读(1841) 评论(0) 推荐(0) 编辑
摘要:经典排序算法之——堆排序 时间复杂度: O(nlogn) 空间复杂度: O(1) 什么时候用堆排序: 1、如果你要在很多元素中找很少几个top K的元素,或者在一个巨大的数据流里找到top K,堆排序更省地方。 2、另外一个适合用heap的场合是优先队列,需要在一组不停更新的数据中不停地找最大/小元 阅读全文 »
posted @ 2022-07-19 12:38 西北小蚂蚁 阅读(80) 评论(0) 推荐(0) 编辑
摘要:经典排序算法之——插入排序 时间复杂度: 最好:O(n) 最坏:O(n^2) 空间复杂度: O(1) 什么时候选择插入排序: 1、n较小 2、在要排序的序列已经将顺序大致排好的时候,或者说每一个数都在他应该在的位置左右的时候用插入排序较好 图解: 代码: #include <stdio.h> #de 阅读全文 »
posted @ 2022-07-19 10:16 西北小蚂蚁 阅读(114) 评论(0) 推荐(0) 编辑
摘要:经典排序算法之——快排 时间复杂度: O(nlogn) 空间复杂度: O(log2n) 什么时候用快排 1、n较大 2、快速排序是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短; 图解: 代码: #include <stdio.h> #define 阅读全文 »
posted @ 2022-07-18 17:04 西北小蚂蚁 阅读(376) 评论(0) 推荐(0) 编辑
摘要:代码 /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* addTwoNumbers(struct List 阅读全文 »
posted @ 2022-07-06 10:36 西北小蚂蚁 阅读(71) 评论(0) 推荐(0) 编辑
摘要:if(x2 >= 10) { while(x2 >= 10) { y2 = y2 * 10 + x2%10; x2 = x2/10; } y2 = y2 * 10 + x2; } else { y2 = x2; } 阅读全文 »
posted @ 2022-07-05 16:07 西北小蚂蚁 阅读(33) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示