多数元素ILeetCode 第169题 简单题
给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。
示例1
输入:nums = [3,2,3]输出:3
示例2
输入:nums = [2,2,1,1,1,2,2]输出:2
查看提示
n == nums.length1 <= n <= 5 * 104-109 <= nums[i] <= 109
进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。
HashMap法 HashMap法解题思路
遍历整个数组,对记录每个数值出现的次数(利用 HashMap,其中 key 为数值,value 为出现次数)再去遍历这个 HashMap ,如果这个数值出现的次数 > ⌊ n/2 ⌋ ...
旋转数组的最小数字剑指 Offer 第11题 简单题 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数组的最小值为 1。
注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], ..., a[n-2]] 。
示例1
输入: numbers = [3,4,5,1,2]输出: 1
示例2
输入: numbers = [2,2,2,0,1]输出: 0
查看提示
n == numbers.length1 <= n <= 5000-5000 <= numbers[i] <= 5000numbers 原来是一个升序排序的数组,并进行了 1 至 n 次旋转
...