学无止境呀~
学无止境呀~
全部文章
题解
归档
标签
去牛客网
登录
/
注册
学无止境呀~的博客
全部文章
/ 题解
(共31篇)
剑指offer 51. 构建乘积数组
51. 构建乘积数组 题目描述给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]A[1]...A[i-1]A[i+1]...A[n-1]。不能使用除法。 思路思路一:两重循环,在遍历数组A的时候,A[i]赋值为1,计算B[i]。时...
2019-09-11
41
1231
剑指offer 50. 数组中重复的数字
50. 数组中重复的数字 题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。...
2019-09-10
0
750
剑指offer 40. 数组中只出现一次的数字
40. 数组中只出现一次的数字 题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 思路思路一:遍历数组,对每个元素直接利用python数组的count函数,因为count()也是,等价于遍历数组再计数,所以时间复杂度为,思路二:利用字典保存元素出...
2019-09-10
12
1469
剑指offer 37. 数字在排序数组中出现的次数
37. 数字在排序数组中出现的次数 题目描述统计一个数字在排序数组中出现的次数。 思路思路一:暴力解,遍历数组并对比,一个循环,时间复杂度为思路二:由于数组是一个排序过的数组,所以可以用二分查找法,定位k的第一次出现位置和最后一次出现位置,时间复杂度为 代码实现暴力解,遍历数组 # -*- co...
2019-09-10
4
1209
剑指offer 35. 数组中的逆序对 ***这道题挺难的
35. 数组中的逆序对 ***这道题挺难的 题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 思路思路一:暴力解,两个循环,时间复杂度,...
2019-09-09
2
897
剑指offer 32. 把数组排成最小的数
32. 把数组排成最小的数 题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 思路将数组中的数字连接起来,排成一个最小的数字。将'大数'往后放'小数'往前放,如何...
2019-09-06
20
1057
剑指offer 30. 连续子数组的最大和
30. 连续子数组的最大和 题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,...
2019-09-06
10
1639
剑指offer 28. 数组中出现次数超过一半的数字
28. 数组中出现次数超过一半的数字 题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 思路思路1:遍历数组,用字典dict存储...
2019-09-06
7
1355
剑指offer 1.二维数组的查找
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路数组是有序的,每行递增,每列递增,所以可以取右上角或者左下角,如果从左下角开始查找,当要查找...
2019-09-05
0
565
剑指offer 6. 旋转数组的最小数字
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 思路思路一:在两...
2019-09-05
0
604
首页
上一页
1
2
3
4
下一页
末页