
LeetCode
逝水一战
重剑无锋,大巧不工
展开
-
股票交易问题全拿下,一扫光
上来直接最难的,后面都是毛毛雨。 问题一:买卖股票的最佳时机IV(leetcode188) 问题描述: 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iv 著作权归领.原创 2020-06-11 20:11:34 · 609 阅读 · 0 评论 -
子数组和问题
我们刷leetcod时总是遇到各种各样的子数组和的问题,这类问题一般都是可以通过构建一个前缀和数组,以O(N^2)的时间复杂度求解,但这并不是最优解。 问题一:和为K的数组 问题描述: 给定一整型数组nums和一整数k,找到该数组中和为k的子数组的个数。 input : nums = [1,2,3,-3,-2,-1,0] k = 0 output: 5 分别为[3,-3], [2,3,-3,-2], [1,2,3,-3,-2,-1], [1,2,3,-3,-2,-1,0] , [0] ...原创 2020-05-16 14:04:12 · 597 阅读 · 0 评论 -
链表存储的两数相加(LeetCode 2)
题目:给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> ...原创 2019-04-03 17:06:03 · 165 阅读 · 0 评论 -
盛最多水的容器算法证明过程(LeetCode11)
题目:给定n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。 算法:定义两个指针i,j(其初始位置i在头,j在尾)if(ai>aj) j--;else i++.最大的面积总是在i j之间。 证明...原创 2019-05-01 19:13:28 · 657 阅读 · 0 评论 -
两两交换链表中的节点(Leetcode24)
题目: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4 你应该返回 2->1->4->3 思路:很明显是一个递归问题,先将后面的N-2的结点完成,在此基础上完成第一个和第二个结点的交换。 交换:第一个结点为p1,第二个为p2,p1.ne...原创 2019-05-26 15:09:04 · 170 阅读 · 0 评论 -
下一个排列(Leetcode31)
题目: 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。 1,2,3→1,3,2 3,2,1→1,2,3 1,1,5→1,5,1 思路: 从后往前遍历,...原创 2019-05-27 09:59:55 · 122 阅读 · 0 评论