剑指Offer系列
weixin_46078315
这个作者很懒,什么都没留下…
展开
-
【剑指Offer】最大子数组的最大和Day2
题目描述 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为 O(n). 示例1 输入 [1,-2,3,10,-4,7,2,-5] 返回值 18 说明 输入的数组为{1,-2,3,10,—4,7,2,一5},和最大的子数组为{3,10,一4,7,2},因此输出为该子数组的和 18。 此题的意思是,所给数组的所有子集 求出和最大的值。 拿到这道题后我首先想到的是 使用双重for循环,将每个位置的和全部算出来,在求最大值 最后发现原创 2021-01-08 20:03:34 · 87 阅读 · 0 评论 -
【剑指Offer】数组中出现次数超过一半的数字Day2
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 示例1 输入 [1,2,3,2,2,2,5,4,2] 返回值 2 我的思路: 首先 我首先想到的是进行排序,那么中间位置的数即为所求值 这里我使用的是快速排序,当然也可以使用其他几种排序 我只是想复习一哈快排????。 以下为代码 public static int MoreTha原创 2021-01-08 20:02:43 · 58 阅读 · 0 评论 -
【剑指Offer】变态跳台阶Day1
剑指OfferDay1 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 示例1 输入 3 返回值 4 找规律, 2^ n-1 代码 public int JumpFloorII(int target) { if(targer == 0 || targer == 1) return 1; return 1<<(target-1); } 时间复杂度O(n) 空间复杂度O(1)原创 2021-01-07 19:10:58 · 58 阅读 · 0 评论