LC 260. 只出现一次的数字 III 题目描述这是 LeetCode 上的 260. 只出现一次的数字 III ,难度为 中等。 给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素,你可以按任意顺序返回答案。 示例 1: 12345输入:nums = [1,2,1,3,2,5]输出:[3,5]解释:[5, 3] 也是有效的答案。 示例 2:123输入:nums = [-1,0 2021-10-29 哈希表 模拟 异或
LC 335. 路径交叉 题目描述这是 LeetCode 上的 335. 路径交叉 ,难度为 困难。 给你一个整数数组 distance 。 从 X-Y 平面上的点 $(0,0)$ 开始,先向北移动 distance[0] 米,然后向西移动 distance[1] 米,向南移动 distance[2] 米,向东移动 distance[3] 米,持续移动。也就是说,每次移动后你的方位会发生逆时针变化。 判断你所经过的路径是否 2021-10-28 模拟 脑筋急转弯 找规律
LC 869. 重新排序得到 2 的幂 题目描述这是 LeetCode 上的 869. 重新排序得到 2 的幂 ,难度为 中等。 给定正整数 N ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零。 如果我们可以通过上述方式得到 $2$ 的幂,返回 true;否则,返回 false。 示例 1:123输入:1输出:true示例 2:123输入:10输出:false示例 3:123输入:16输出:true示例 4:12 2021-10-27 哈希表 DFS
LC 301. 删除无效的括号 题目描述这是 LeetCode 上的 301. 删除无效的括号 ,难度为 困难。 给你一个由若干括号和字母组成的字符串 s,删除最小数量的无效括号,使得输入的字符串有效。 返回所有可能的结果。答案可以按 任意顺序 返回。 示例 1:12输入: "()())()"输出: ["()()()", "(())()"]示例 2:12输入: &quo 2021-10-26 DFS 回溯算法 括号问题
LC 496. 下一个更大元素 I 题目描述这是 LeetCode 上的 496. 下一个更大元素 I ,难度为 简单。 给你两个 没有重复元素 的数组 nums1 和 nums2,其中 nums1 是 nums2 的子集。 请你找出 nums1 中每个元素在 nums2 中的下一个比其大的值。 nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出 $- 2021-10-25 哈希表 模拟 单调栈
LC 240. 搜索二维矩阵 II 题目描述这是 LeetCode 上的 240. 搜索二维矩阵 II ,难度为 中等。 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。 该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例 1: 123输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10 2021-10-24 模拟 二分 二叉搜索树
LC 638. 大礼包 题目描述这是 LeetCode 上的 638. 大礼包 ,难度为 中等。 在 LeetCode 商店中, 有 n 件在售的物品。每件物品都有对应的价格。然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品。 给你一个整数数组 price 表示物品价格,其中 price[i] 是第 i 件物品的价格。另有一个整数数组 needs 表示购物清单,其中 needs[i] 是需要购买第 i 件物品 2021-10-24 DFS 背包问题 完全背包
LC 492. 构造矩形 题目描述这是 LeetCode 上的 492. 构造矩形 ,难度为 简单。 作为一位web开发者, 懂得怎样去规划一个页面的尺寸是很重要的。 现给定一个具体的矩形页面面积,你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面。要求: 你设计的矩形页面必须等于给定的目标面积。 宽度 W 不应大于长度 L,换言之,要求 L >= W 。 长度 L 和宽度 W 之间的差距应 2021-10-22 模拟
LC 229. 求众数 II 题目描述这是 LeetCode 上的 229. 求众数 II ,难度为 中等。 给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。 示例 1:123输入:[3,2,3]输出:[3]示例 2:123输入:nums = [1]输出:[1]示例 3:123输入:[1,1,1,3,3,2,2,2]输出:[1,2] 提示: $1 <= nums.length < 2021-10-21 哈希表 摩尔投票
LC 66. 加一 题目描述这是 LeetCode 上的 66. 加一 ,难度为 简单。 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1:12345输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:12345输入:d 2021-10-20 模拟
LC 453. 最小操作次数使数组元素相等 题目描述这是 LeetCode 上的 453. 最小操作次数使数组元素相等 ,难度为 简单。 给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。 返回让数组所有元素相等的最小操作次数。 示例 1:1234567输入:nums = [1,2,3]输出:3解释:只需要3次操作(注意每次操作会增加两个元素的值):[1,2,3] => [2,3,3] => 2021-10-20 数学
LC 211. 添加与搜索单词 - 数据结构设计 题目描述这是 LeetCode 上的 211. 添加与搜索单词 - 数据结构设计 ,难度为 中等。 请你设计一个数据结构,支持 添加新单词 和 查找字符串是否与任何先前添加的字符串匹配 。 实现词典类 WordDictionary : WordDictionary() 初始化词典对象 void addWord(word) 将 word 添加到数据结构中,之后可以对它进行匹配 bool searc 2021-10-18 DFS 字典树
LC 476. 数字的补数 题目描述这是 LeetCode 上的 476. 数字的补数 ,难度为 简单。 对整数的二进制表示取反(0 变 1 ,1 变 0)后,再转换为十进制表示,可以得到这个整数的补数。 例如,整数 5 的二进制表示是 "101" ,取反后得到 "010" ,再转回十进制表示得到补数 2 。给你一个整数 num,输出它的补数。 示例 1:12345输入:num = 2021-10-17 模拟 位运算
LC 230. 二叉搜索树中第K小的元素 题目描述这是 LeetCode 上的 230. 二叉搜索树中第K小的元素 ,难度为 中等。 给定一个二叉搜索树的根节点 root,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 $1$ 开始计数)。 示例 1:123输入:root = [3,1,4,null,2], k = 1输出:1 示例 2:123输入:root = [5,3,6,2,4,null,null,1], k = 2021-10-16 中序遍历 二叉树 树的搜索
LC 282. 给表达式添加运算符 题目描述这是 LeetCode 上的 282. 给表达式添加运算符 ,难度为 困难。 给定一个仅包含数字 0-9 的字符串 num 和一个目标值整数 target ,在 num 的数字之间添加 二元 运算符(不是一元)+、- 或 * ,返回所有能够得到目标值的表达式。 示例 1:123输入: num = "123", target = 6输出: ["1+2+3&quo 2021-10-16 数学 DFS