- 博客(3)
- 收藏
- 关注
原创 数组中数量超过一半的数字
数组中数量超过一半的数字题目描述方法分析排序法哈希表摩尔投票法 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 方法分析 排序法 看到这个题目,首先想到的就是先对数组进行排序,然后计算值等于数组中位数的元素个数,如果数量大于数组长度一半就输出这个元素,否则输出0。 public class Solution { publ
2021-04-18 22:14:21 114 1
原创 青蛙跳台阶
青蛙跳台阶 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 题目分析 青蛙每次可以跳任意阶台阶,只要不超过给定的台阶总数即可。 如图所示,存在1个台阶时,只有一种方法。 当存在2个台阶时,如果青蛙第一次跳1个台阶,剩下1个台阶,图片左侧就包含了1个台阶的所有情况,只有一种方法;如果青蛙第一次跳2个台阶,只有一种方法;一共两种方法。 当存在3个台阶时,如果青蛙第一次跳1个台阶,剩下2个台阶,图片中间就包含了2个台阶的所有情况,只
2021-04-07 22:50:04 87
原创 旋转数组的最小元素
旋转数组的最小元素旋转数组的最小元素题目描述方法分析 旋转数组的最小元素 题目描述 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 数组的旋转 :把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 例:[1,2,3,4,5] → [3,4,5,1,2] 非递减排序的数组 :未必是严格递增,可能有重复的值。 例:[1,2,2,4,5,5,5,7] 方法分析 最简单低效的做法:遍历整个数组,找到最小元素。
2021-03-14 20:20:09 59
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人