随笔分类 - 数据结构与算法 / 哈希算法
摘要:1.题目 输入两个字符串 s1,s2 。 输出最长连续公共子串长度和最长连续公共子串。 输入格式 一行,两个字符串 s1,s2,用空格隔开。 输出格式 第一行输出最长连续公共子串的长度 第二行输出最长连续公共子串。如果不唯一,则输出 s1 中的最后一个。 数据范围 1≤|s1|,|s2|≤100 数
阅读全文
摘要:1.题目 题目地址(349. 两个数组的交集 - 力扣(LeetCode)) https://leetcode.cn/problems/intersection-of-two-arrays/ 题目描述 给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一
阅读全文
摘要:1.题目 题目地址(706. 设计哈希映射 - 力扣(LeetCode)) https://leetcode.cn/problems/design-hashmap/ 题目描述 不使用任何内建的哈希表库设计一个哈希映射(HashMap)。 实现 MyHashMap 类: MyHashMap() 用空映
阅读全文
摘要:1.题目 题目地址(705. 设计哈希集合 - 力扣(LeetCode)) https://leetcode.cn/problems/design-hashset/ 题目描述 不使用任何内建的哈希表库设计一个哈希集合(HashSet)。 实现 MyHashSet 类: void add(key) 向
阅读全文
摘要:1.题目介绍 题目地址(697. 数组的度 - 力扣(LeetCode)) https://leetcode.cn/problems/degree-of-an-array/ 题目描述 给定一个非空且只包含非负数的整数数组 nums,数组的 度 的定义是指数组里任一元素出现频数的最大值。 你的任务是在
阅读全文
摘要:1.题目介绍 题目地址(645. 错误的集合 - 力扣(LeetCode)) https://leetcode.cn/problems/set-mismatch/ 题目描述 集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致
阅读全文
摘要:1.题目介绍 A-B 数对 题目背景 出题是一件痛苦的事情! 相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈! 题目描述 给出一串正整数数列以及一个正整数 \(C\),要求计算出所有满足 \(A - B = C\) 的数对的个数(不同位置的数字
阅读全文
摘要:1.题目介绍 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums = [1,2,0] 输出:3 示例 2: 输入:nums = [3,4,-1,1] 输出:2 示例 3: 输入
阅读全文
摘要:1.题目介绍 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums = [1,1,1], k = 2 输出:2 示例 2: 输入:nums = [1,2,3], k = 3 输出:2 提示:
阅读全文
摘要:1.题目介绍 给定一个链表的头节点 \(head\) ,返回链表开始入环的第一个节点。 如果链表无环,则返回 \(null\)。 如果链表中有某个节点,可以通过连续跟踪 \(next\) 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 \(pos\) 来表示链表尾连接到
阅读全文
摘要:1.题目介绍 给定一个未排序的整数数组 \(nums\) ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 \(O(n)\) 的算法解决此问题。 示例 1: 输入:nums = [100,4,200,1,3,2] 输出:4 解释:最长数字连续序列是 [1,
阅读全文
摘要:1.题目介绍 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"] 输出: [["bat"]
阅读全文
摘要:1.题目介绍 给定两个字符串 \(s\) 和 \(t\) ,判断它们是否是同构的。 如果 \(s\) 中的字符可以按某种映射关系替换得到 \(t\) ,那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符
阅读全文
摘要:1.题目介绍 给你一个链表的头节点 \(head\) ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 \(next\) 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 \(pos\) 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:\(pos\
阅读全文
摘要:1.题目介绍 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:
阅读全文
摘要:1.题目介绍 2.题解 2.1 方法一:哈希统计 思路与算法 假设当前给定元组 (a,b,c,d)(a,b,c,d)(a,b,c,d) 满足 a×b=c×d,且此时满足 a≠b≠c≠d,则可以知道该元组可以按照不同顺序组合,组成 8 个不同的元组, 且这个8个元组均满足题目要求: (a,b,c,d)
阅读全文
摘要:1.题目介绍 2.题解 2.1 快排+遍历 思路 同本系列前几题一样 代码 class Solution { public: std::vector<int> singleNumber(std::vector<int>& nums) { int count = 0; std::vector<int>
阅读全文
摘要:1.题目介绍 2.题解 2.1 哈希表 思路 同本系列题I,不过多赘述 代码 class Solution { public: int singleNumber(std::vector<int>& nums) { std::unordered_map<int,int> map; for (int n
阅读全文
摘要:1.题目简介 2.题解 本题思路参考了某位大大的题解,链接:https://leetcode.cn/problems/single-number/solutions/5118/xue-suan-fa-jie-guo-xiang-dui-yu-guo-cheng-bu-na-y/ 2.1 数组/哈希表
阅读全文
摘要:键值对在内存中的存储方式取决于具体的数据结构和编程语言。通常,有两种主要的数据结构用于存储键值对:数组(或列表)和哈希表。以下是它们的工作原理: 1.数组(或列表)存储键值对: 如果键值对存储在数组中,通常有两数组,一个用于存储键(通常是整数或字符串),另一个用于存储值(可以是任何数据类型)。 数组
阅读全文

浙公网安备 33010602011771号