-------剑指offer
计算机的小粽子
2019年本科毕业于湖南大学,目前任职字节跳动
展开
-
面试题38-------数字在排序数组中出现的次数(数组)
题目:统计一个数字在排序数组中出现的次数,例如 {1,2,3,3,3,3,4,5},3 出现了4次 。 代码解决 #include<stdio.h> int s[8]={1,2,3,3,3,3,4,5}; int findfirst(int x){ int left = 0, right = 7; while(left <= right){ ...原创 2018-02-24 17:11:17 · 167 阅读 · 0 评论 -
面试题40-------数组中只出现一次的数(数组)
题目:一个整型数组里除了两个数字之外,其它的数字都出现了两次。找出这两个数字。 例如数组:{2,4,3,6,3,2,5,5} 返回6和4 代码实现 #include<stdio.h> int s[8]={2,4,3,6,3,2,5,5}; int main(){ int temp = 0; for(int x=0;x<8;x++) temp^=s[x...原创 2018-02-24 16:49:25 · 215 阅读 · 0 评论 -
面试题10-------二进制中1的个数(数字)
题目 求出二进制中1的个数 代码解决 #include<stdio.h> void countbit1(int x){ int sum = 0,temp = x; while(x){ sum++; x = x - (x&(-x)); } printf("%d 中含有 %d 个 1 \n",temp,sum...原创 2018-02-24 17:24:30 · 291 阅读 · 0 评论 -
面试题45-------圆圈中最后剩下的数字(数字)
题目:0,1,2,n-1组成一个圆圈,每次删除第m个数字,求出最后剩下的数字。 代码解决 #include<stdio.h> int yuesefu(int m,int n){ int index = 0; for(int x=1;x<n;x++){ index = (index + m) % (x+1); } print...原创 2018-02-24 17:39:10 · 201 阅读 · 0 评论 -
面试题3-------二维数组中的查找(数组)
题目 在一个二维数组中,每一行从左到右递增,每一列从上到下递增。判断数组中是否含有某个数。 代码解决 #include<stdio.h> int s[4][4] = {{1,2,8,9}, {2,4,9,12}, {4,7,10,13}, {6,8,11,15}}; void Find...原创 2018-02-25 11:25:09 · 214 阅读 · 0 评论 -
面试题31-------连续子数组的最大和(数组)
题目:求连续子数组的最大和,例如{1,-2,3,10,-4,7,2,-5},返回18(3,10,-4,7,2); 代码解决 #include<stdio.h> int s[8] = {1,-2,3,10,-4,7,2,-5}; void dp(){ int b=0,Max = 0x80000000; for(int x=0;x<8;x++){ ...原创 2018-02-25 14:11:46 · 346 阅读 · 0 评论