哈希
Guapifang
这个作者很懒,什么都没留下…
展开
-
LeetCode 面试题 17.15. 最长单词 -- map+dfs
面试题 17.15. 最长单词给定一组单词words,编写一个程序,找出其中的最长单词,且该单词由这组单词中的其他单词组合而成。若有多个长度相同的结果,返回其中字典序最小的一项,若没有符合要求的单词则返回空字符串。示例:输入: [“cat”,“banana”,“dog”,“nana”,“walk”,“walker”,“dogwalker”]输出: “dogwalker”解释: "dogwalker"可由"dog"和"walker"组成。提示:0 <= len(words) <= 2原创 2021-12-03 12:08:03 · 402 阅读 · 0 评论 -
LeetCode 442. 数组中重复的数据 ---原地哈希
数组中重复的数据给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?示例:输入:[4,3,2,7,8,2,3,1]输出:[2,3]题解原地哈希即可。AC代码class Solution {public: vector<int> res; vector<int> findDuplicates(v.原创 2021-12-01 13:07:15 · 100 阅读 · 0 评论 -
LeetCode 421. 数组中两个数的最大异或值 --前缀编码+Set查询
数组中两个数的最大异或值给你一个整数数组 nums ,返回 nums[i] XOR nums[j] 的最大运算结果,其中 0 ≤ i ≤ j < n 。进阶:你可以在 O(n) 的时间解决这个问题吗?示例 1:输入:nums = [3,10,5,25,2,8]输出:28解释:最大运算结果是 5 XOR 25 = 28.示例 2:输入:nums = [0]输出:0示例 3:输入:nums = [2,4]输出:6示例 4:输入:nums = [8,10,2]输出:10示.原创 2021-11-29 23:00:19 · 472 阅读 · 0 评论 -
LeetCode 437. 路径总和 III--DFS+map查找
路径总和 III给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。示例 1:输入:root = [10,5,-3,3,2,null,11,3,-2,null,1], targetSum = 8输出:3解释:和等于 8 的路径有 3 条,如图所示。示例 2:输入:root = [5,4,8,11,null.原创 2021-11-27 17:18:58 · 75 阅读 · 0 评论 -
LeetCode 287. 寻找重复数 -- 原地哈希
寻找重复数给定一个包含 n + 1 个整数的数组 nums ,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设 nums 只有 一个重复的整数 ,找出 这个重复的数 。你设计的解决方案必须不修改数组 nums 且只用常量级 O(1) 的额外空间。示例 1:输入:nums = [1,3,4,2,2]输出:2示例 2:输入:nums = [3,1,3,4,2]输出:3示例 3:输入:nums = [1,1]输出:1示例 4:输入:nums = [.原创 2021-11-27 11:34:01 · 308 阅读 · 0 评论