avatar
文章
87
标签
48
分类
18
首页
归档
标签
分类
关于
很多时候不懂事
搜索
首页
归档
标签
分类
关于

很多时候不懂事

LeetCode72 - 每日温度
发表于2026-04-11|算法题练习栈|中等•数组•栈•单调栈
📝 题目描述 题目链接:每日温度 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例: 1234567891011121314示例 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 💡 解题思路 方法一:单调栈 维护一个存储温度下标的栈,从栈底到栈顶,所索引的温度是递减的。 倒序遍历温度数组(倒序入栈 相当于 正序出栈),对于每一个索引 i: 只要栈不空,那么查看 temp...
LeetCode71 - 字符串解码
发表于2026-04-11|算法题练习栈|中等•字符串•栈•递归
📝 题目描述 题目链接:字符串解码 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。 此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。 测试用例保证输出的长度不会超过 10^5。 示例: 12345678910111213141516171819示例 1:输入:s = "3[a]2[bc]"输出:"aaabcbc"示例 2:输入:s = "3[a2[c]]"输出:"accaccacc"示例 3:输入:s = "2[abc]3[cd]ef"输出:"abcabccdcdcdef"示例 4:输入:s = "abc3[cd]xyz"输出:&quo...
LeetCode70 - 最小栈
发表于2026-04-10|算法题练习栈|中等•栈•设计
📝 题目描述 题目链接:最小栈 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop() 删除堆栈顶部的元素。 int top() 获取堆栈顶部的元素。 int getMin() 获取堆栈中的最小元素。 示例: 123456789101112131415161718示例 1:输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3],[],[],[],[]]输出:[null,null,null,null,-3,null,0,-2]解释:MinStack minStack = new MinStack();minStack.push...
NLLB与SentencePiece在MoeTranslate中的技术实现
发表于2026-04-09|面试准备|面试•实习
LeetCode69 - 有效的括号
发表于2026-04-08|算法题练习栈|简单•字符串•栈
📝 题目描述 题目链接:有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。 示例: 1234567891011121314151617181920212223242526272829示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true示例 3:输入:s = "(]"输出:false示例 4:输入:s = "([])"输出:true示例 5:输入:s = "([)]"输出:false 提示: 1 <= s.length <= 10^4 s 仅由括号 '()[]{}' 组成 💡 解题思路 方法一:栈 思路很简单,遇见左括号,直接入栈;遇见右括号: 判断栈是否为空,为空则说明上来就是右括号,直接返回 fal...
LeetCode68 - 寻找两个正序数组的中位数
发表于2026-04-08|算法题练习二分查找|数组•困难•分治•二分查找•高级工程师
📝 题目描述 题目链接:寻找两个正序数组的中位数 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数。 算法的时间复杂度应该为 O(log(m+n))O(log(m+n))O(log(m+n))。 示例: 1234567891011示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5 提示: nums1.length == m nums2.length == n 0 <= m <= 1000 0 <= n <= 1000 1 <= m + n <= 2000 -10^6 <= nums1[i], nums2[i] <= 10^6 💡 解题思路 方法一:二分查找 把时间复杂度降低到 O(log(m+n...
LeetCode67 - 寻找旋转排序数组中的最小值
发表于2026-04-08|算法题练习二分查找|中等•数组•二分查找
📝 题目描述 题目链接:寻找旋转排序数组中的最小值 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2] 若旋转 7 次,则可以得到 [0,1,2,4,5,6,7] 注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], ..., a[n-2]] 。 给你一个元素值 互不相同 的数组 nums ,它原来是一个升序排列的数组,并按上述情形进行了多次旋转。请你找出并返回数组中的 最小元素 。 你必须设计一个时间复杂度为 O(logn)O(log n)O(logn) 的算法解决此问题。 示例: 1234567891011121314151617示例 1:输入:nums = [3,4,5,1,2]输出:1解释:原数组为 [1,2,3,4,5] ,旋转 3 次得到输入数组。示例 2:输入:nums = [4,5,...
LeetCode66 - 搜索旋转排序数组
发表于2026-04-08|算法题练习二分查找|中等•数组•二分查找
📝 题目描述 题目链接:搜索旋转排序数组 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 向左旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数)。例如,[0,1,2,4,5,6,7] 下标 3 上向左旋转后可能变为 [4,5,6,7,0,1,2]。 给你 旋转后 的数组 nums 和一个整数 target ,如果 nums 中存在这个目标值 target ,则返回它的下标,否则返回 -1 。 你必须设计一个时间复杂度为 O(logn)O(log n)O(logn) 的算法解决此问题。 示例: 1234567891011121314示例 1:输入:nums = [4,5,6,7,0,1,2], target = 0输出:4示例 2:输入:nums = [4,5,6,7,0,1,2], target = 3输出:-1示例 ...
LeetCode65 - 在排序数组中查找元素的第一个和最后一个位置
发表于2026-04-07|算法题练习二分查找|中等•数组•二分查找
📝 题目描述 题目链接:在排序数组中查找元素的第一个和最后一个位置 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例: 1234567891011121314示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例 2:输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,-1]示例 3:输入:nums = [], target = 0输出:[-1,-1] 提示: 0 <= nums.length <= 10^5 -10^9 <= nums[i] <= 10^9 nums 是一个非递减数组 -10^9 <= target <= 10^9 💡 解题思路 方法一:调库 如果元素存在,闭区间左界就是 lower_bound 指向的值的索引,右界就是 upp...
LeetCode64 - 搜索二维矩阵
发表于2026-04-07|算法题练习二分查找|中等•数组•矩阵•二分查找
📝 题目描述 题目链接:搜索二维矩阵 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。 示例: 示例 1: 12输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3输出:true 示例 2: 12输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13输出:false 提示: m == matrix.length n == matrix[i].length 1 <= m, n <= 100 -10^4 <= matrix[i][j], target <= 10^4 💡 解题思路 方法一:两次二分查找 由于每行的第一个元素大于前一行的最后一个元素,且每行元素是升序的,所以每行的第一个元素大于前一行的第一个元...
12…9
avatar
azuki
记录一些琐碎的事物
文章
87
标签
48
分类
18
GitHub
公告
This is my Blog
最新文章
LeetCode72 - 每日温度2026-04-11
LeetCode71 - 字符串解码2026-04-11
LeetCode70 - 最小栈2026-04-10
NLLB与SentencePiece在MoeTranslate中的技术实现2026-04-09
LeetCode69 - 有效的括号2026-04-08
分类
  • 华厦实习9
  • 生活记录2
  • 算法题练习73
    • 二分查找6
    • 二叉树15
    • 双指针4
    • 哈希3
    • 回溯8
标签
面试实习发癫生活华厦中等数组哈希表前缀和简单困难字符串滑动窗口队列单调队列堆分治动态规划排序矩阵模拟数字双指针数学二分查找链表栈递归初级工程师堆(优先队列)归并排序设计双向链表树深度优先搜索二叉树广度优先搜索二叉搜索树并查集图
归档
  • 四月 2026 23
  • 三月 2026 40
  • 二月 2026 6
  • 一月 2026 4
  • 十二月 2025 2
  • 七月 2024 11
  • 六月 2024 1
网站信息
文章数目 :
87
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2024 - 2026 By azuki框架 Hexo 8.1.1|主题 Butterfly 5.5.3
搜索
数据加载中