LeetCode

删除有序数组中的重复项-LeetCode#26

给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以「引用」方式传… 阅读更多 »删除有序数组中的重复项-LeetCode#26

反转字符串 II-LeetCode#541

给定一个字符串 s 和一个整数 k,从字符串开头算起,每 2k 个字符反转前 k 个字符。 如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。  示例 1: 输入:s = “abcdefg&#8… 阅读更多 »反转字符串 II-LeetCode#541

雪糕的最大数量-LeetCode#1833

夏日炎炎,小男孩 Tony 想买一些雪糕消消暑。 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 costs[i] 表示第 i 支雪糕的现金价格。Tony 一共有 coins 现金可以用于消费,他想要买尽可能多的雪糕。 给你价格数组 costs 和现金量 coins … 阅读更多 »雪糕的最大数量-LeetCode#1833

全排列 II-LeetCode#47

给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums = [1,1,2]输出:[[1,1,2],[1,2,1],[2,1,1]] 示例 2: 输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1]… 阅读更多 »全排列 II-LeetCode#47

全排列-LeetCode#46

给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: 深度优先遍历+回溯算法 代码如下:

钥匙和房间-LeetCode#841

有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码:0,1,2,…,N-1,并且房间里可能有一些钥匙能使你进入下一个房间。 在形式上,对于每个房间 i 都有一个钥匙列表 rooms[i],每个钥匙 rooms[i][j] 由 [0,1,…,N-1] 中的一个整数表示,其中 N = roo… 阅读更多 »钥匙和房间-LeetCode#841