随笔分类 -  leetcode 题解

27.移除元素
摘要:### 移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 为什么返回数 阅读全文
posted @ 2023-08-28 21:52 huangxk23 阅读(10) 评论(0) 推荐(0) 编辑
419.甲板上的战舰
摘要:甲板上的战舰 给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 'X' 或者是一个空位 '.' ,返回在甲板 board 上放置的 战舰 的数量。 战舰 只能水平或者垂直放置在 board 上。换句话说,战舰只能按 1 x k(1 行,k 列)或 k x 1( 阅读全文
posted @ 2023-04-08 13:23 huangxk23 阅读(15) 评论(0) 推荐(0) 编辑
41.缺失的第一个正数
摘要:缺失的第一个正数 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums = [1,2,0] 输出:3 示例 2: 输入:nums = [3,4,-1,1] 输出:2 示例 3: 阅读全文
posted @ 2023-04-05 17:30 huangxk23 阅读(12) 评论(0) 推荐(0) 编辑
442.数组中重复的数据
摘要:数组中重复的数据 给你一个长度为 n 的整数数组 nums ,其中 nums 的所有整数都在范围 [1, n] 内,且每个整数出现 一次 或 两次 。请你找出所有出现 两次 的整数,并以数组形式返回。 你必须设计并实现一个时间复杂度为 O(n) 且仅使用常量额外空间的算法解决此问题。 示例 1: 输 阅读全文
posted @ 2023-04-05 15:49 huangxk23 阅读(10) 评论(0) 推荐(0) 编辑
448.找到所有数组中消失的数字
摘要:找到所有数组中消失的数字 给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。 示例 1: 输入:nums = [4,3,2,7,8,2,3,1] 输出:[5,6] 示 阅读全文
posted @ 2023-04-05 15:29 huangxk23 阅读(14) 评论(0) 推荐(0) 编辑
645.错误的集合
摘要:错误的集合 集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了集合 S 发生错误后的结果。 请你找出重复出现的整数,再找到丢失的整数,将它们以数组 阅读全文
posted @ 2023-04-04 22:08 huangxk23 阅读(23) 评论(0) 推荐(0) 编辑
396.旋转函数
摘要:旋转函数 给定一个长度为 n 的整数数组 nums 。 假设 arrk 是数组 nums 顺时针旋转 k 个位置后的数组,我们定义 nums 的 旋转函数 F 为: F(k) = 0 * arrk[0] + 1 * arrk[1] + ... + (n - 1) * arrk[n - 1] 返回 F 阅读全文
posted @ 2023-04-04 21:22 huangxk23 阅读(63) 评论(0) 推荐(0) 编辑
283.移动零
摘要:移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums = [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 2: 输入: nums = [0] 输出 阅读全文
posted @ 2023-04-03 22:14 huangxk23 阅读(12) 评论(0) 推荐(0) 编辑
665.非递减数列
摘要:非递减数列 给你一个长度为 n 的整数数组 nums ,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。 示例 1: 输入: nu 阅读全文
posted @ 2023-04-03 22:06 huangxk23 阅读(18) 评论(0) 推荐(0) 编辑
453.最小操作次数使数组元素相等
摘要:最小操作次数使数组元素相等 给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。 示例 1: 输入:nums = [1,2,3] 输出:3 解释: 只需要3次操作(注意每次操作会增加两个元素的值): [1,2,3] => [2,3,3] 阅读全文
posted @ 2023-04-02 11:50 huangxk23 阅读(36) 评论(0) 推荐(0) 编辑
384.打乱数组
摘要:打乱数组 给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。打乱后,数组的所有排列应该是 等可能 的。 实现 Solution class: Solution(int[] nums) 使用整数数组 nums 初始化对象 int[] reset() 重设数组到它的初始状态并返回 in 阅读全文
posted @ 2023-03-19 15:43 huangxk23 阅读(14) 评论(0) 推荐(0) 编辑
202.快乐数
摘要:快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1,那么这个数就是快乐数。 如果 n 是 快乐数 就返回 tr 阅读全文
posted @ 2023-03-19 10:27 huangxk23 阅读(29) 评论(0) 推荐(0) 编辑
201.数字范围按位与
摘要:数字范围按位与 给你两个整数 left 和 right ,表示区间 [left, right] ,返回此区间内所有数字 按位与 的结果(包含 left 、right 端点)。 示例 1: 输入:left = 5, right = 7 输出:4 示例 2: 输入:left = 0, right = 0 阅读全文
posted @ 2023-03-15 16:36 huangxk23 阅读(42) 评论(0) 推荐(0) 编辑
72.编辑距离
摘要:编辑距离 给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例 1: 输入:word1 = "horse", word2 = "ros" 输出:3 解释: ho 阅读全文
posted @ 2023-03-15 15:51 huangxk23 阅读(14) 评论(0) 推荐(0) 编辑
343.整数拆分
摘要:整数拆分 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n = 2 输出: 1 解释: 2 = 1 + 1, 1 × 1 = 1。 示例 2: 输入: n = 10 输出: 36 解释: 1 阅读全文
posted @ 2023-03-15 15:15 huangxk23 阅读(31) 评论(0) 推荐(0) 编辑
583.两个字符串的删除操作
摘要:两个字符串的删除操作 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 示例 1: 输入: word1 = "sea", word2 = "eat" 输出: 2 解释: 第一步将 "sea" 变为 "e 阅读全文
posted @ 2023-03-14 12:21 huangxk23 阅读(25) 评论(0) 推荐(0) 编辑
1143.最长公共子序列
摘要:最长公共子序列 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,"a 阅读全文
posted @ 2023-03-14 11:59 huangxk23 阅读(21) 评论(0) 推荐(0) 编辑
673.最长递增子序列的个数
摘要:最长递增子序列的个数 给定一个未排序的整数数组 nums , 返回最长递增子序列的个数 。 注意 这个数列必须是 严格 递增的。 示例 1: 输入: [1,3,5,4,7] 输出: 2 解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[1, 3, 5, 7]。 示例 2: 输入: 阅读全文
posted @ 2023-03-13 15:17 huangxk23 阅读(24) 评论(0) 推荐(0) 编辑
300.最长递增子序列
摘要:最长递增子序列 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例 1: 输入:nums = [10,9,2,5,3, 阅读全文
posted @ 2023-03-13 15:13 huangxk23 阅读(25) 评论(0) 推荐(0) 编辑
91.解码方法
摘要:解码方法 一条包含字母 A-Z 的消息通过以下映射进行了 编码 : 'A' -> "1" 'B' -> "2" ... 'Z' -> "26" 要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,"11106" 可以映射为: "AAJF" ,将消息分组为 阅读全文
posted @ 2023-03-12 15:20 huangxk23 阅读(68) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示