LeetCode
日常刷题
kay嗯哼
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode06二进制中1的个数(位运算)
请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。 示例 1: 输入:00000000000000000000000000001011 输出:3 输入:00000000000000000000000010000000 输出:1 输入:11111111111111111111111111111101 输出:31 解释:输入的二进制串 111111111111111111111111.原创 2021-03-08 23:16:06 · 148 阅读 · 0 评论 -
LeetCode05斐波那契(Fibonacci)数列(动态规划)
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 总结:一道简单的动态规划,c语言课上应该就做过了经典例题(我第一天第二天做的..原创 2021-03-07 20:23:22 · 247 阅读 · 0 评论 -
LeetCode04---旋转数组的最小数字(水一道)
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。 示例 1: 输入:[3,4,5,1,2] 输出:1 示例 2: 输入:[2,2,2,0,1] 输出:0 总结:二分法 ...原创 2021-03-07 00:44:30 · 130 阅读 · 0 评论 -
LeetCode03动态规划---青蛙跳(斐波那契数列)
青蛙跳台阶 package LeetcCode.青蛙跳台阶; /* 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入:n = 2 输入:n = 7 输入:n = 0 输出:2 输出:21 输出:1 提示: 0原创 2021-03-05 12:16:34 · 348 阅读 · 1 评论 -
LeetCode02顺时针打印数组
顺时针打印矩阵 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2: 输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] 输出:[1,2,3,4,8,12,11,10,9,5,6,7] 限制: 0 <= matrix.length <= 100 0 <= matrix[i].lengt原创 2021-03-03 20:35:55 · 276 阅读 · 1 评论 -
LeetCode01连续子数组最大和(动态规划)
连续子数组最大和 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 提示: 1 <= arr.length <= 10^5 -100 <= arr[i] <= 100 动态规划解析: 大致思路:定义一个和目标数组num一样大小的动态规划数组dp,遍历后d原创 2021-02-26 15:54:26 · 1294 阅读 · 0 评论
分享