- 博客(5)
- 收藏
- 关注
原创 爬楼梯问题
爬楼梯问题: 假设你正在爬楼梯,需要 n 阶你才能到达楼顶 每次你可以爬 1 或 2 个台阶,你有多少种不同的方法可以爬到楼顶呢? 爬楼梯问题其实与斐波那契数列很相似,条件略有所改变 ...
2020-03-09 18:04:46 433
原创 leetcode53. 最大子序和
题目: 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6 思路:动态规划 设置 sum 为当前最大连续子序列的和,将结果保存在 ans 中 这道题简单来讲可以这么想: 数组中有正数有负数,正数对和的计算有增益效...
2020-03-09 14:47:30 110
原创 leetcode面试题03. 数组中重复的数字
找出数组中重复的数字 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字 在这里我使用的是下标定位法 根据题意我们可以知道如果没有重复数字,那么正常排序后,数字 i 应该就会在下标为 i 的位置,所以思路就是:从头遍历数组,遇到下标为 i 的元素判断,如果不是 i ...
2020-03-09 14:24:44 201
原创 算法:无序数组中求最大值最小值
题目:如何在无序数组中求最大值和最小值,要求比较的次数尽可能小 这是面经中的一道面试题,如果单纯的来看这道题,我们采用暴力法遍历一遍,对每一个元素与存储的最大值和最小值进行比较,完全就可以解决这个问题,比较次数为2n。 但是在面试中经常会遇到面试官的追问:会用更好的方法解决这道题么?此时我们可以考虑如果比最大的元素大,也就不用跟最小的元素进行对比了,这样的比较次数会略小于2n。 显然这种思路也过于...
2020-03-08 20:25:08 3601 1
原创 leetcode算法之斐波那契数列
斐波那契数列 通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1 对于斐波那契数列,此处给出三种解法: 递归 class Solution { public int f(int n) { ...
2020-03-07 17:16:03 468
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人