剑指offer
jeek_we
这个作者很懒,什么都没留下…
展开
-
剑指Offer--046-求1+2+3+...+n 代码分析
剑指offer 记录 剑指Offer–046-求1+2+3+…+n 对文章里面提到的 指针求和公式 比较好奇,研究了一下,明白了其中的原理。 代码如下 #include <stdio.h> #include <stdint.h> int rich(int n) { return ( (int)( &((uint8_t (*) [n])0)[1+n][0]) ) >> 1; } int main() { printf("%d\n", rich(10)); retu原创 2020-07-04 09:32:56 · 150 阅读 · 0 评论 -
剑指offer-040-数组中只出现一次的数字 另一种解法
剑指offer 记录 040-数组中只出现一次的数字 这篇文章中介绍了两种方法,暴力解析法和全局异或法,详情可以查看博客。 对于这两种解法的缺点在以下指出,如果有不对之处,可以提醒我一下。 暴力解析 原理 循环整个数组,记录每一个数据出现的次数,然后重新循环数据次数数组,找出出现一次的数字 结果 需要重新创建一个缓冲区来记录当前数组内的每个数字出现的次数,浪费空间。 需要循环两次数组,时间浪费。 全局异或 原理: 创建一个全局变量,根据异或规则–>异或两次结果为0,所以如果有存在两个相同数字进行异或操原创 2020-07-04 00:26:01 · 108 阅读 · 0 评论