LeetCode
jeff-y
所有文章用于个人记录,仅供参考,有错误的地方还请指出错误。
展开
-
【leetCode】股票的最大利润day12
题目假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少? 示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。示例 2:输入: [7,6,4,3,1]输出: 0解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。&nb原创 2020-07-04 01:53:16 · 264 阅读 · 0 评论 -
【leetCode】打印从1到最大的n位数day10
题目输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。示例 1:输入: n = 1输出: [1,2,3,4,5,6,7,8,9]我的解法先来一下暴力破解,还没有for循环搞不定的事??N*10 -1 不就是最后以为数字了然后我们再便利 N*10 -1次,将所有的数据存入数组中但是这块的得注意一下就是他是从0位开始但是第一个存储的数据是1.所以是b+1了。时间复杂度为O(n)双百击杀!!!!!!意料之外c原创 2020-06-28 23:40:19 · 227 阅读 · 0 评论 -
【LeetCode】两数之和day09
题目给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解题思路暴力破解for循环,进行遍历 然后在其中不加自己show m原创 2020-06-24 02:30:49 · 171 阅读 · 0 评论 -
【LeetCode】旋转数组的最小数字day08
题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [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解题思路一定要看清题目,不要偷懒大概一看规律逻辑,第一遍写了个冒泡排序(哈哈哈,我是的傻X)提交错了,然后仔细看了一遍,一个递增排序的数组的一个旋转奥是这样啊原创 2020-06-22 00:01:05 · 229 阅读 · 0 评论 -
【leetCode】青蛙跳台问题(这只青蛙会托马斯大旋转)day07
一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21提示:0 <= n <= 100解题思路楼梯和我们的数据结构什么可以联系起来呢?数组。没错就是数组。然后呢?? 然后不会了。。。。。。。看答案。[外链图片转存失败,源站可能有防原创 2020-06-20 19:31:36 · 237 阅读 · 0 评论 -
【leetCode】斐波那契数列day06
题目写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。解题思路通过题意的描述;刚开始就固定0和1所以要特殊对待原创 2020-06-20 02:24:07 · 306 阅读 · 0 评论 -
【leetCode】使用两个栈搞一个队列day05
题目用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[null,null,3,-1]提示:1 <= values <= 10000最多会对 appendTail原创 2020-06-18 22:35:16 · 222 阅读 · 0 评论 -
【LeetCode】重建二叉树day04
题目输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7 限制:0 <= 节点个数 <= 5000解题思路二叉树的特点是什么?每个节点最多有两棵原创 2020-06-18 01:58:27 · 196 阅读 · 0 评论 -
【LeetCode】从尾到头反过来返回每个节点的值(用数组返回)day03
题目输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000第一次//使用栈的特性先进后出//复杂度O(n)public int[] reversePrint(ListNode head) { Stack<ListNode> stack = new Stack<ListNode>(); ListNo原创 2020-06-17 01:19:01 · 686 阅读 · 0 评论 -
【LeetCode】把字符串 s 中的每个空格替换成““%20””day02
题目请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1:输入:s = "We are happy."输出:"We%20are%20happy."解答过程当我看到这道题的第一个思路是:将这个String按空格Split开。然后重新拼接的时候加上需要替换的字符串。(我也不知道这是什么脑回路);最后还是一道错题。/** * 第一次的解答。 * 为多个孔空字符串就会出现err * * @param s * @原创 2020-06-16 00:04:23 · 527 阅读 · 0 评论 -
【LeetCode】找出数组中重复的数字day01
题目找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3限制:2 <= n <= 100000解题思路暴力搞,双层for循环,第一层的第一个元素和全数组比较。遇到就return空间换时间,那就是利用set的属性不可以进行原创 2020-06-14 21:49:54 · 260 阅读 · 1 评论