directory
0.0.0-20240920062246-d0657495930a
Repository: https://github.com/yigmmk/leetcode.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
* @lc app=leetcode.cn id=1124 lang=golang * * [1124] 表现良好的最长时间段 * * https://leetcode.cn/problems/longest-well-performing-interval/description/ * * algorithms * Medium (34.80%) * Likes: 442 * Dislikes: 0 * Total Accepted: 38.6K * Total Submissions: 99.5K * Testcase Example: '[9,9,6,0,6,6,9]' * * 给你一份工作时间表 hours,上面记录着某一位员工每天的工作小时数。 * * 我们认为当员工一天中的工作小时数大于 8 小时的时候,那么这一天就是「劳累的一天」。 * * 所谓「表现良好的时间段」,意味在这段时间内,「劳累的天数」是严格 大于「不劳累的天数」。 * * 请你返回「表现良好时间段」的最大长度。 * * * * 示例 1: * * * 输入:hours = [9,9,6,0,6,6,9] * 输出:3 * 解释:最长的表现良好时间段是 [9,9,6]。 * * 示例 2: * * * 输入:hours = [6,6,6] * 输出:0 * * * * * 提示: * * * 1 <= hours.length <= 10^4 * 0 <= hours[i] <= 16 * * */.
* @lc app=leetcode.cn id=1475 lang=golang * * [1475] 商品折扣后的最终价格 * * https://leetcode.cn/problems/final-prices-with-a-special-discount-in-a-shop/description/ * * algorithms * Easy (73.31%) * Likes: 207 * Dislikes: 0 * Total Accepted: 70.4K * Total Submissions: 95.9K * Testcase Example: '[8,4,6,2,3]' * * 给你一个数组 prices ,其中 prices[i] 是商店里第 i 件商品的价格。 * * 商店里正在进行促销活动,如果你要买第 i 件商品,那么你可以得到与 prices[j] 相等的折扣,其中 j 是满足 j > i 且 prices[j] * <= prices[i] 的 最小下标 ,如果没有满足条件的 j ,你将没有任何折扣。 * * 请你返回一个数组,数组中第 i 个元素是折扣后你购买商品 i 最终需要支付的价格。 * * * * 示例 1: * * 输入:prices = [8,4,6,2,3] * 输出:[4,2,4,2,3] * 解释: * 商品 0 的价格为 price[0]=8 ,你将得到 prices[1]=4 的折扣,所以最终价格为 8 - 4 = 4 。 * 商品 1 的价格为 price[1]=4 ,你将得到 prices[3]=2 的折扣,所以最终价格为 4 - 2 = 2 。 * 商品 2 的价格为 price[2]=6 ,你将得到 prices[3]=2 的折扣,所以最终价格为 6 - 2 = 4 。 * 商品 3 和 4 都没有折扣。 * * * 示例 2: * * 输入:prices = [1,2,3,4,5] * 输出:[1,2,3,4,5] * 解释:在这个例子中,所有商品都没有折扣。 * * * 示例 3: * * 输入:prices = [10,1,1,6] * 输出:[9,0,1,6] * * * * * 提示: * * * 1 <= prices.length <= 500 * 1 <= prices[i] <= 10^3 * * */.
* @lc app=leetcode.cn id=2289 lang=golang * * [2289] 使数组按非递减顺序排列 * * https://leetcode.cn/problems/steps-to-make-array-non-decreasing/description/ * * algorithms * Medium (22.00%) * Likes: 132 * Dislikes: 0 * Total Accepted: 6.3K * Total Submissions: 28.9K * Testcase Example: '[5,3,4,4,7,3,6,11,8,5,11]' * * 给你一个下标从 0 开始的整数数组 nums 。在一步操作中,移除所有满足 nums[i - 1] > nums[i] 的 nums[i] ,其中 0 * < i < nums.length 。 * * 重复执行步骤,直到 nums 变为 非递减 数组,返回所需执行的操作数。 * * * * 示例 1: * * * 输入:nums = [5,3,4,4,7,3,6,11,8,5,11] * 输出:3 * 解释:执行下述几个步骤: * - 步骤 1 :[5,3,4,4,7,3,6,11,8,5,11] 变为 [5,4,4,7,6,11,11] * - 步骤 2 :[5,4,4,7,6,11,11] 变为 [5,4,7,11,11] * - 步骤 3 :[5,4,7,11,11] 变为 [5,7,11,11] * [5,7,11,11] 是一个非递减数组,因此,返回 3 。 * * * 示例 2: * * * 输入:nums = [4,5,7,7,13] * 输出:0 * 解释:nums 已经是一个非递减数组,因此,返回 0 。 * * * * * 提示: * * * 1 <= nums.length <= 10^5 * 1 <= nums[i] <= 10^9 * * */.
No description provided by the author
* @lc app=leetcode.cn id=456 lang=golang * * [456] 132 模式 * * https://leetcode.cn/problems/132-pattern/description/ * * algorithms * Medium (36.44%) * Likes: 786 * Dislikes: 0 * Total Accepted: 78K * Total Submissions: 213.9K * Testcase Example: '[1,2,3,4]' * * 给你一个整数数组 nums ,数组中共有 n 个整数。132 模式的子序列 由三个整数 nums[i]、nums[j] 和 nums[k] * 组成,并同时满足:i < j < k 和 nums[i] < nums[k] < nums[j] 。 * * 如果 nums 中存在 132 模式的子序列 ,返回 true ;否则,返回 false 。 * * * * 示例 1: * * * 输入:nums = [1,2,3,4] * 输出:false * 解释:序列中不存在 132 模式的子序列。 * * * 示例 2: * * * 输入:nums = [3,1,4,2] * 输出:true * 解释:序列中有 1 个 132 模式的子序列: [1, 4, 2] 。 * * * 示例 3: * * * 输入:nums = [-1,3,2,0] * 输出:true * 解释:序列中有 3 个 132 模式的的子序列:[-1, 3, 2]、[-1, 3, 0] 和 [-1, 2, 0] 。 * * * * * 提示: * * * n == nums.length * 1 * -10^9 * * */.
* @lc app=leetcode.cn id=496 lang=golang * * [496] 下一个更大元素 I * * https://leetcode.cn/problems/next-greater-element-i/description/ * * algorithms * Easy (71.78%) * Likes: 1094 * Dislikes: 0 * Total Accepted: 284.1K * Total Submissions: 395.7K * Testcase Example: '[4,1,2]\n[1,3,4,2]' * * nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。 * * 给你两个 没有重复元素 的数组 nums1 和 nums2 ,下标从 0 开始计数,其中nums1 是 nums2 的子集。 * * 对于每个 0 <= i < nums1.length ,找出满足 nums1[i] == nums2[j] 的下标 j ,并且在 nums2 确定 * nums2[j] 的 下一个更大元素 。如果不存在下一个更大元素,那么本次查询的答案是 -1 。 * * 返回一个长度为 nums1.length 的数组 ans 作为答案,满足 ans[i] 是如上所述的 下一个更大元素 。 * * * * 示例 1: * * * 输入:nums1 = [4,1,2], nums2 = [1,3,4,2].
* @lc app=leetcode.cn id=503 lang=golang * * [503] 下一个更大元素 II * * https://leetcode.cn/problems/next-greater-element-ii/description/ * * algorithms * Medium (67.02%) * Likes: 872 * Dislikes: 0 * Total Accepted: 215.7K * Total Submissions: 321.8K * Testcase Example: '[1,2,1]' * * 给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 * 下一个更大元素 。 * * 数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1 * 。 * * * * 示例 1: * * * 输入: nums = [1,2,1] * 输出: [2,-1,2] * 解释: 第一个 1 的下一个更大的数是 2; * 数字 2 找不到下一个更大的数; * 第二个 1 的下一个最大的数需要循环搜索,结果也是 2。 * * * 示例 2: * * * 输入: nums = [1,2,3,4,3] * 输出: [2,3,4,-1,4] * * * * * 提示: * * * 1 <= nums.length <= 10^4 * -10^9 <= nums[i] <= 10^9 * * */.
* @lc app=leetcode.cn id=739 lang=golang * * [739] 每日温度 * * https://leetcode.cn/problems/daily-temperatures/description/ * * algorithms * Medium (68.73%) * Likes: 1626 * Dislikes: 0 * Total Accepted: 471.3K * Total Submissions: 685.5K * Testcase Example: '[73,74,75,71,69,72,76,73]' * * 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i * 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 * * * * 示例 1: * * * 输入: temperatures = [73,74,75,71,69,72,76,73] * 输出: [1,1,4,2,1,1,0,0] * * * 示例 2: * * * 输入: temperatures = [30,40,50,60] * 输出: [1,1,1,0] * * * 示例 3: * * * 输入: temperatures = [30,60,90] * 输出: [1,1,0] * * * * 提示: * * * 1 <= temperatures.length <= 10^5 * 30 <= temperatures[i] <= 100 * * */.
* @lc app=leetcode.cn id=901 lang=golang * * [901] 股票价格跨度 * * https://leetcode.cn/problems/online-stock-span/description/ * - algorithms - Medium (62.18%) - Likes: 391 - Dislikes: 0 - Total Accepted: 74.4K - Total Submissions: 117.2K - Testcase Example: '["StockSpanner","next","next","next","next","next","next","next"]\n' + '[[],[100],[80],[60],[70],[60],[75],[85]]' * * 设计一个算法收集某些股票的每日报价,并返回该股票当日价格的 跨度 。 * * 当日股票价格的 跨度 被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天)。 * * * * 例如,如果未来 7 天股票的价格是 [100,80,60,70,60,75,85],那么股票跨度将是 [1,1,1,2,1,4,6] 。 * * * * 实现 StockSpanner 类: * * * StockSpanner() 初始化类对象。 * int next(int price) 给出今天的股价 price ,返回该股票当日价格的 跨度 。 * * * * * 示例: * * * 输入: * ["StockSpanner", "next", "next", "next", "next", "next", "next", "next"] * [[], [100], [80], [60], [70], [60], [75], [85]] * 输出: * [null, 1, 1, 1, 2, 1, 4, 6] * * 解释: * StockSpanner stockSpanner = new StockSpanner(); * stockSpanner.next(100); // 返回 1 * stockSpanner.next(80); // 返回 1 * stockSpanner.next(60); // 返回 1 * stockSpanner.next(70); // 返回 2 * stockSpanner.next(60); // 返回 1 * stockSpanner.next(75); // 返回 4 ,因为截至今天的最后 4 个股价 (包括今天的股价 75) 都小于或等于今天的股价。 * stockSpanner.next(85); // 返回 6 * * * * 提示: * * * 1 <= price <= 10^5 * 最多调用 next 方法 10^4 次 * * */.