标签为 [数组] 的文章

剑指offer——旋转数组的最小数字

【题目】 把一个数组最开始的若干个元素搬到数组的末尾, 我们称之数组的旋转。 输入一个递增排序的数组的一个旋转, 输出旋转数组的最小元素。 例如数组{ 3, 4, 5, 1, 2} 为{ l, 2, 3, 4, 5}的一个旋转,该数组的最小值为 1。 /** * * 暴力遍历寻找 * *二分查找方法: *1.两个指针指向数组第一个和最后一个元素(第一个元素应该大于等于最后一个元素) *2.找数组中间的元素,如果中间元素大于等于第一个指针指向的元素,则中间元素位于前面的递增序列,那么最小值应该位于中间元素后面,移动left *3.如果中间元素小于等于第二个指 ......

剑指offer——数组中重复的数字

/** * 题目:在一个长度为n的数组里的所有数字都在 0 到 n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。 * 请找出数组中任意一个重复的数字。 * 例如,如果输入长度为7的数组{2,3,1,0,2,5,3}, * 那么对应的输出是重复的数字 2 或者 3。 * * 【法1】:一言不合先排序,排序之后双指针往后跑,直到找到相同的数字,return * 时间复杂度:O(N*logN)+ O(N) * 【法2】:用HashMap,遍历一下数组即可 * 时间复杂度:O(N)+ N*O(1) * 空间复杂度:O(N ......