leetcode
文章平均质量分 79
Joey-Hu
个人博客: https://joey-hu.github.io/
展开
-
leetcode 买卖股票问题
leetcode 买卖股票问题lc121 买卖股票最佳时机lc122 买卖股票最佳时机IIlc123. 买卖股票的最佳时机 IIIlc188. 买卖股票的最佳时机 IV lc121 买卖股票最佳时机 思路:dp[i]:表示到第 i 天为止能获得的最大利润,所以 dp[i] 等于max{今天的价格prices[i] - 从第 1 到第 i-1天之中股票最低价格minPrice,dp[i-1]},所以需要一个变量 minPrice 记录到第 i-1 天为止的股票最低价格。 /** * 状态转移方程 dp[i]原创 2021-04-19 19:03:43 · 191 阅读 · 1 评论 -
leetcode 300 最长上升子序列
leetcode 300 最长上升子序列动态规划动态规划 + 二分查找 动态规划 思路: 使用动态规划思想,dp[i]表示到nums[i]为止的最长上升子序列,转移方程是 dp[i] = max(dp[i], dp[j]+1) if (dp[j] > dp[i] and i>j) 时间复杂度:O(N^2) public int lengthOfLIS(int[] nums) { int[] dp = new int[nums.length]; for (int i = 0; i原创 2021-04-06 09:38:57 · 141 阅读 · 0 评论 -
leetcode -- 1. 两数之和
leetcode -- 1. 两数之和哈希表方法一遍哈希表方法暴力解法 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 哈希表方法 先将数组元素值和下标作为 key 和 value 存原创 2020-08-19 21:29:43 · 125 阅读 · 0 评论 -
面试题 17.21. 直方图的水量
面试题 17.21. 直方图的水量 地址:https://leetcode-cn.com/problems/volume-of-histogram-lcci/ 给定一个直方图(也称柱状图),假设有人从上面源源不断地倒水,最后直方图能存多少水量?直方图的宽度为 1。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的直方图,在这种情况下,可以接 6 个单位的水(蓝色部分表示水)。 感谢 Marcos 贡献此图。 示例: 输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出:原创 2020-09-07 17:00:59 · 208 阅读 · 0 评论 -
面试题 03.02. 栈的最小值
面试题 03.02. 栈的最小值 地址:https://leetcode-cn.com/problems/min-stack-lcci/ 请设计一个栈,除了常规栈支持的pop与push函数以外,还支持min函数,该函数返回栈元素中的最小值。执行push、pop和min操作的时间复杂度必须为O(1)。 示例: MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.原创 2020-09-07 17:04:08 · 158 阅读 · 0 评论 -
二分查找
二分查找基本的二分搜索法左右边界的二分搜索法 基本的二分搜索法 704.Binary Search public int search(int[] nums, int target) { int low = 0; int high = nums.length - 1; // 停止条件 <= :因为high=length-1, 使用的是闭区间 // 结束情形:low > high while (low <= high) { int mi原创 2020-09-14 19:59:51 · 176 阅读 · 0 评论