leetcode
雪落潇寒
软件工程本硕
展开
-
2021-03-13
[Leetcode]1326.灌溉花园的最少水龙头数目这道题是45.跳跃游戏的进阶版,和跳跃游戏的不同在于,这道题的背景稍微复杂,一个点可以往左右两边浇水,我们需要把这个转换成跳跃游戏。如何转换呢?可以这样想,把每个点可以浇的水的范围[l, r],就当成是一个人在 l 点最远可以跳到r点,或者看成一个人在r点最远可以跳到l点。因为跳跃游戏规定了是向后跳,所以跳跃游戏只需要单向考虑就行。这道题的话,不管是从左边按照跳跃游戏的方式遍历到右边,还是从右边遍历到左边都可以。这道题还有一个注意点,就是一开始需原创 2021-03-13 12:38:21 · 110 阅读 · 0 评论 -
[Leetcode]31.下一个排列
实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1来源:力扣(LeetCode)链接:https://le...原创 2019-11-16 21:21:59 · 99 阅读 · 0 评论 -
[Leetcode]457-环形数组循环(Java)
给定一个含有正整数和负整数的环形数组 nums。 如果某个索引中的数 k 为正数,则向前移动 k 个索引。相反,如果是负数 (-k),则向后移动 k 个索引。因为数组是环形的,所以可以假设最后一个元素的下一个元素是第一个元素,而第一个元素的前一个元素是最后一个元素。确定 nums 中是否存在循环(或周期)。循环必须在相同的索引处开始和结束并且循环长度 > 1。此外,一个循环中的所有运动都必...原创 2019-11-15 16:10:21 · 537 阅读 · 0 评论