![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
哈希思想与哈希映射
文章平均质量分 51
哈希思想
向光.
路过人间,绝非一瞬间.
展开
-
⭐北邮复试刷题105. 从前序与中序遍历序列构造二叉树__递归分治 (力扣每日一题)
给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。同时注意某子树的中序序列长度和前序序列长度必为相等,可依据此性质确定递归时inorder数组和preorder数组下标起点终点该如何选择;输入: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]输入: preorder = [-1], inorder = [-1]原创 2024-02-21 22:48:22 · 352 阅读 · 0 评论 -
⭐北邮复试刷题LCR 034. 验证外星语词典__哈希思想 (力扣119经典题变种挑战)
解释:当前三个字符 “app” 匹配时,第二个字符串相对短一些,然后根据词典编纂规则 “apple” > “app”,因为 ‘l’ > ‘∅’,其中 ‘∅’ 是空白字符,定义为比任何其他字符都小(更多信息)。否则,返回 false。输入:words = [“word”,“world”,“row”], order = “worldabcefghijkmnpqstuvxyz”解释:在该语言的字母表中,‘d’ 位于 ‘l’ 之后,那么 words[0] > words[1],因此单词序列不是按字典序排列的。原创 2024-02-18 17:32:01 · 345 阅读 · 0 评论 -
LeetCode.302 场周赛___02_6164. 数位和相等数对的最大和___哈希 + 增强预处理 + 自定义优先队列
给你一个下标从0开始的数组nums,数组中的元素都是正整数。=j),且nums[i]的数位和与nums[j]的数位和相等。,因此我们可以对可以产生的每一种数位和都进行提前预处理,使得每一个产生的数位和直接对应一个长度为2的最大优先队列,请你找出所有满足条件的下标i和j,找出并返回nums[i]+nums[j]可以得到的最大值。输入nums=[18,43,36,13,7]输入nums=[10,12,19,14]由于我们不在乎数位和的大小,只在乎找到。......原创 2022-07-17 12:48:48 · 137 阅读 · 0 评论 -
LeetCode.302 场周赛___01_6120. 数组能形成多少数对__简单哈希
nums[0]和nums[3]形成一个数对,并从nums中移除,nums=[3,2,3,2,2]。nums[0]和nums[2]形成一个数对,并从nums中移除,nums=[2,2,2]。解释nums[0]和nums[1]形成一个数对,并从nums中移除,nums=[]。nums[0]和nums[1]形成一个数对,并从nums中移除,nums=[2]。输入nums=[1,3,2,1,3,2,2]输入nums=[1,1]...原创 2022-07-17 11:59:03 · 128 阅读 · 0 评论 -
Leetcode.690. 员工的重要性___递归与哈希优化
690. 员工的重要性给定一个保存员工信息的数据结构,它包含了员工 唯一的 id ,重要度 和 直系下属的 id 。比如,员工 1 是员工 2 的领导,员工 2 是员工 3 的领导。他们相应的重要度为 15 , 10 , 5 。那么员工 1 的数据结构是 [1, 15, [2]] ,员工 2的 数据结构是 [2, 10, [3]] ,员工 3 的数据结构是 [3, 5, []] 。注意虽然员工 3 也是员工 1 的一个下属,但是由于 并不是直系 下属,因此没有体现在员工 1 的数据结构中。现在输入一个原创 2022-02-16 07:40:05 · 98 阅读 · 0 评论 -
Leetcode 2034. 股票价格波动__双集合存储
2034. 股票价格波动给你一支股票价格的数据流。数据流中每一条记录包含一个 时间戳 和该时间点股票对应的 价格 。不巧的是,由于股票市场内在的波动性,股票价格记录可能不是按时间顺序到来的。某些情况下,有的记录可能是错的。如果两个有相同时间戳的记录出现在数据流中,前一条记录视为错误记录,后出现的记录 更正 前一条错误的记录。请你设计一个算法,实现:更新 股票在某一时间戳的股票价格,如果有之前同一时间戳的价格,这一操作将 更正 之前的错误价格。找到当前记录里 最新股票价格 。最新股票价格 定义为时间原创 2022-01-23 10:49:13 · 136 阅读 · 0 评论 -
Leetcode.747. 至少是其他数字两倍的最大数__哈希+贪心
747. 至少是其他数字两倍的最大数给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 。请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 -1 。示例 1:输入:nums = [3,6,1,0]输出:1解释:6 是最大的整数,对于数组中的其他整数,6 至少是数组中其他元素的两倍。6 的下标是 1 ,所以返回 1 。示例 2:输入:nums = [1,2,3,4]输出:-1解释:4 没有超过 3 的两倍大原创 2022-01-15 16:08:21 · 97 阅读 · 0 评论 -
Leetcode.299. 猜数字游戏——贯彻哈希思想
299. 猜数字游戏你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下:写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜测一次,你就会给他一个包含下述信息的提示:猜测数字中有多少位属于数字和确切位置都猜对了(称为 “Bulls”,公牛),有多少位属于数字猜对了但是位置不对(称为 “Cows”,奶牛)。也就是说,这次猜测中有多少位非公牛数字可以通过重新排列转换成公牛数字。给你一个秘密数字 secret 和朋友猜测的数字 guess ,请你返回对朋友这次猜测的提示。提示原创 2022-01-07 21:12:50 · 175 阅读 · 0 评论 -
12.29——两数之和大礼包(二分/哈希/双指针)
12.29每日一题①—— 两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums =原创 2021-12-30 09:04:51 · 96 阅读 · 0 评论 -
12.7 每日一题——997. 找到小镇的法官——计数思想
12.7 每日一题——997. 找到小镇的法官在一个小镇里,按从 1 到 n 为 n 个人进行编号。传言称,这些人中有一个是小镇上的秘密法官。如果小镇的法官真的存在,那么:小镇的法官不相信任何人。每个人(除了小镇法官外)都信任小镇的法官。只有一个人同时满足条件 1 和条件 2 。给定数组 trust,该数组由信任对 trust[i] = [a, b] 组成,表示编号为 a 的人信任编号为 b 的人。如果小镇存在秘密法官并且可以确定他的身份,请返回该法官的编号。否则,返回 -1。示例 1:原创 2021-12-07 15:48:03 · 177 阅读 · 0 评论 -
~~~2021.12.1 每日一题---是否含有重复元素~~~
2021.12.1 每日一题12.1 是否含有重复元素给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,那么程序打印true;如果数组中每个元素都不相同,则程序打印false ;示例1:输入:[1,2,3,1]输出: true示例2:输入:[1,2,3]输出: false要求:不可直接调用java已经封装好Arrays工具类;严格按照用例的输入输出形式;尽量使用多种方法解决; 可上交博客链接或直接交图片;题解:前引:这题是一道简单的数组题目原创 2021-12-02 00:41:06 · 756 阅读 · 0 评论 -
Leetcode.697. 数组的度---哈希map存储
697. 数组的度给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。示例 1:输入:[1, 2, 2, 3, 1]输出:2解释:输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示:[1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2, 2], [2, 2, 3],原创 2021-11-23 20:46:00 · 84 阅读 · 0 评论 -
Leetcode.242. 有效的字母异位词---两for一表解决
242. 有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false 提示:1 <= s.length, t.length <= 5 * 104s 和 t 仅包含小写字母 进原创 2021-11-04 10:37:31 · 97 阅读 · 0 评论 -
Leetcode.392. 判断子序列---哈希思想/双指针
392. 判断子序列给定字符串 s 和 t ,判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。进阶:如果有大量输入的 S,称作 S1, S2, … , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?致谢:特别感谢 @pbrother 添加此问题并且创建所有测试用例。示例 1:输入:s原创 2021-11-04 10:31:37 · 113 阅读 · 0 评论 -
Leetcode.869. 重新排序得到 2 的幂---哈希思想
869. 重新排序得到 2 的幂给定正整数 N ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零。如果我们可以通过上述方式得到 2 的幂,返回 true;否则,返回 false。示例 1:输入:1输出:true示例 2:输入:10输出:false示例 3:输入:16输出:true示例 4:输入:24输出:false示例 5:输入:46输出:true提示:1 <= N <= 10^9题解:我们先将1 <= N <= 1原创 2021-10-29 20:54:43 · 143 阅读 · 0 评论 -
Leetcode.496. 下一个更大元素 I---哈希表+单调栈Plus
496. 下一个更大元素 I给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。请你找出 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出 -1 。示例 1:输入: nums1 = [4,1,2], nums2 = [1,3,4,2].输出: [-1,3,-1]解释: 对于 num1 中的数字原创 2021-10-26 22:17:41 · 48 阅读 · 0 评论 -
Leetcode.496. 下一个更大元素 I---哈希表+单调栈Plus
496. 下一个更大元素 I给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。请你找出 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出 -1 。示例 1:输入: nums1 = [4,1,2], nums2 = [1,3,4,2].输出: [-1,3,-1]解释: 对于 num1 中的数字原创 2021-10-26 22:13:29 · 76 阅读 · 0 评论 -
leetcode.5907. 下一个更大的数值平衡数---哈希思想
5907. 下一个更大的数值平衡数如果整数 x 满足:对于每个数位 d ,这个数位 恰好 在 x 中出现 d 次。那么整数 x 就是一个 数值平衡数 。给你一个整数 n ,请你返回 严格大于 n 的 最小数值平衡数 。示例 1:输入:n = 1输出:22解释:22 是一个数值平衡数,因为:- 数字 2 出现 2 次 这也是严格大于 1 的最小数值平衡数。示例 2:输入:n = 1000输出:1333解释:1333 是一个数值平衡数,因为:- 数字 1 出现 1 次。-原创 2021-10-24 21:22:06 · 265 阅读 · 0 评论 -
Leetcode.1.两数之和--进阶法
1. 两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4],原创 2021-10-24 13:43:33 · 87 阅读 · 0 评论 -
Leetcode.187. 重复的DNA序列---哈希+ 滑动窗口
187. 重复的DNA序列所有 DNA 都由一系列缩写为 ‘A’,‘C’,‘G’ 和 ‘T’ 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。编写一个函数来找出所有目标子串,目标子串的长度为 10,且在 DNA 字符串 s 中出现次数超过一次。示例 1:输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"输出:["AAAAACCCCC","CCCCCAAAAA"]示例 2:输入:s = "AA原创 2021-10-09 14:55:00 · 133 阅读 · 0 评论 -
Leetcode.442. 数组中重复的数据---哈希+桶排序
442. 数组中重复的数据给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?示例:输入:[4,3,2,7,8,2,3,1]输出:[2,3]题解:由于a[i]的范围比较特殊,我们可以利用桶排序的思想来解决这道题。即我们创建出一个数组hash当成‘桶’,并对其内元素都初始化为0,接着开始遍历数组,一旦hash[nums[i]]==0,原创 2021-10-09 14:35:18 · 126 阅读 · 0 评论 -
Leetcode.1436. 旅行终点站--哈希表思想+集合
1436. 旅行终点站给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 paths[i] = [cityAi, cityBi] 表示该线路将会从 cityAi 直接前往 cityBi 。请你找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市。题目数据保证线路图会形成一条不存在循环的线路,因此恰有一个旅行终点站。示例 1:输入:paths = [["London","New York"],["New York","Lima"],["Lima","Sao Paulo"]原创 2021-10-01 22:00:53 · 84 阅读 · 0 评论 -
Leetcode.771. 宝石与石头---哈希思想
771. 宝石与石头给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = "aA", S = "aAAbbbb"输出: 3示例 2:输入: J = "z", S = "ZZ"输出: 0注意:S 和 J 最多含有50个字母。 J 中的字符不重复。题解:利用原创 2021-08-15 16:29:55 · 109 阅读 · 0 评论 -
Leetcode.1337. 矩阵中战斗力最弱的 K 行---自定义排序
1337. 矩阵中战斗力最弱的 K 行给你一个大小为 m * n 的矩阵 mat,矩阵由若干军人和平民组成,分别用 1 和 0 表示。请你返回矩阵中战斗力最弱的 k 行的索引,按从最弱到最强排序。如果第 i 行的军人数量少于第 j 行,或者两行军人数量相同但 i 小于 j,那么我们认为第 i 行的战斗力比第 j 行弱。军人 总是 排在一行中的靠前位置,也就是说 1 总是出现在 0 之前。 示例 1:输入:mat = [[1,1,0,0,0], [1,1,1,1,0], [1,0,0,原创 2021-08-01 08:51:49 · 211 阅读 · 0 评论 -
Leetcode.1935. 可以输入的最大单词数---双哈希比对
1935. 可以输入的最大单词数键盘出现了一些故障,有些字母键无法正常工作。而键盘上所有其他键都能够正常工作。给你一个由若干单词组成的字符串 text ,单词间由单个空格组成(不含前导和尾随空格);另有一个字符串 brokenLetters ,由所有已损坏的不同字母键组成,返回你可以使用此键盘完全输入的 text 中单词的数目。示例 1:输入:text = "hello world", brokenLetters = "ad"输出:1解释:无法输入 "world" ,因为字母键 'd' 已损坏原创 2021-07-22 18:35:52 · 129 阅读 · 0 评论 -
leetcode.219. 存在重复元素 II---哈希(集合)
219. 存在重复元素 II给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的 绝对值 至多为 k。示例 1:输入: nums = [1,2,3,1], k = 3输出: true示例 2:输入: nums = [1,0,1,1], k = 1输出: true示例 3:输入: nums = [1,2,3,1,2,3], k = 2输出: false题解:我们创建一个HashSe原创 2021-07-16 10:24:28 · 152 阅读 · 0 评论 -
leetcode.645. 错误的集合---三法(桶排序计数法/直接排序/求和法)
645. 错误的集合集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。给定一个数组 nums 代表了集合 S 发生错误后的结果。请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。示例 1:输入:nums = [1,2,2,4]输出:[2,3]示例 2:输入:nums = [1,1]输出:[1,2] 提示:2 <= nums.lengt原创 2021-07-06 00:23:09 · 241 阅读 · 0 评论 -
leetcode.525. 连续数组---哈希+前缀和思想(Java)
525. 连续数组给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。示例 1:输入: nums = [0,1]输出: 2说明: [0, 1] 是具有相同数量0和1的最长连续子数组。示例 2:输入: nums = [0,1,0]输出: 2说明: [0, 1] (或 [1, 0]) 是具有相同数量0和1的最长连续子数组。 提示:1 <= nums.length <= 105nums[i] 不是 0 就是 1原创 2021-06-03 21:11:55 · 125 阅读 · 0 评论 -
leetcode.13. 罗马数字转整数---哈希思想
13. 罗马数字转整数罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V原创 2021-05-15 10:15:13 · 96 阅读 · 0 评论 -
leetcode.137. 只出现一次的数字 II---三法解决(哈希,位运算,排序)
137. 只出现一次的数字 II给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。示例 1:输入:nums = [2,2,3,2]输出:3示例 2:输入:nums = [0,1,0,1,0,1,99]输出:99 提示:1 <= nums.length <= 3 * 104-231 <= nums[i] <= 231 - 1nums 中,除某个元素仅出现 一次 外,其余每个元素都原创 2021-05-01 17:33:22 · 136 阅读 · 0 评论 -
leetcode.368. 最大整除子集----使用dp来进行哈希思想的映射便于求解
368. 最大整除子集给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足:answer[i] % answer[j] == 0 ,或answer[j] % answer[i] == 0如果存在多个有效解子集,返回其中任何一个均可。示例 1:输入:nums = [1,2,3]输出:[1,2]解释:[1,3] 也会被视为正确答案。示例 2:输入:nums = [1,原创 2021-04-23 21:40:42 · 131 阅读 · 0 评论 -
leetcode.220. 存在重复元素 III----使用哈希表/二维哈希数组 排序优化暴力
220. 存在重复元素 III给你一个整数数组 nums 和两个整数 k 和 t 。请你判断是否存在 两个不同下标 i 和 j,使得 abs(nums[i] - nums[j]) <= t ,同时又满足 abs(i - j) <= k 。如果存在则返回 true,不存在返回 false。示例 1:输入:nums = [1,2,3,1], k = 3, t = 0输出:true示例 2:输入:nums = [1,0,1,1], k = 1, t = 2输出:true示例 3:原创 2021-04-17 15:22:13 · 131 阅读 · 0 评论 -
力扣395. 至少有 K 个重复字符的最长子串----递归+dfs实现分治
395. 至少有 K 个重复字符的最长子串给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。示例 1:输入:s = "aaabb", k = 3输出:3解释:最长子串为 "aaa" ,其中 'a' 重复了 3 次。示例 2:输入:s = "ababbc", k = 2输出:5解释:最长子串为 "ababb" ,其中 'a' 重复了 2 次, 'b' 重复了 3 次。 提示:1 <= s.原创 2021-04-16 10:46:54 · 239 阅读 · 0 评论 -
第七届蓝桥杯省赛(四平方和)---哈希
四平方和四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和。如果把0包括进去,就正好可以表示为4个数的平方和。比如:5 = 0^2 + 0^2 + 1^2 + 2^27 = 1^2 + 1^2 + 1^2 + 2^2(^符号表示乘方的意思)对于一个给定的正整数,可能存在多种平方和的表示法。要求你对4个数排序:0 <= a <= b <= c <= d并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,最后输出第一个表示法程序原创 2021-04-11 14:44:20 · 266 阅读 · 0 评论 -
力扣567. 字符串的排列---滑动窗口与哈希
567. 字符串的排列给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的 子串 。示例 1:输入: s1 = "ab" s2 = "eidbaooo"输出: True解释: s2 包含 s1 的排列之一 ("ba").示例 2:输入: s1= "ab" s2 = "eidboaoo"输出: False 提示:输入的字符串只包含小写字母两个字符串的长度都在 [1, 10,000] 之间题解:方原创 2021-04-05 16:56:09 · 208 阅读 · 0 评论 -
蓝桥杯:人物相关性分析(双指针+双数组存储)
蓝桥杯:人物相关性分析题解:最容易想到的便是枚举遍历,但由于数量巨大必定会超时。因此我们可考虑使用双指针来模拟滑动窗口解决该题。首先我们创建两个数组用双指针查找分别存储出现的Alice和Bob的头部下标,接着我们再遍历两个数组,任选出现的Alice和Bob的下标进行逻辑上的比较,符合题目范围则sum加一,否则不加即可。代码:#include <bits/stdc++.h>using namespace std;char str[1000001];int a1[1000000原创 2021-03-28 17:28:41 · 401 阅读 · 0 评论 -
力扣128. 最长连续序列(使用哈希表巧妙完成排序过程)
128. 最长连续序列给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。进阶:你可以设计并实现时间复杂度为 O(n) 的解决方案吗?示例 1:输入:nums = [100,4,200,1,3,2]输出:4解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。示例 2:输入:nums = [0,3,7,2,5,8,4,6,0,1]输出:9 提示:0 <= nums.length <= 104-109原创 2021-03-20 19:26:08 · 309 阅读 · 0 评论 -
2018年第九届C/C++ A组蓝桥杯省赛真题部分题解(C语言/C++)
目录哪天返回猴子分香蕉第几个幸运数书号验证次数差耐摔指数较小分数哪天返回题目描述 小明被不明势力劫持。后莫名其妙被扔到x星站再无问津。小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文。 他决定在x星战打工。好心的老板答应包食宿,第1天给他1元钱。 并且,以后的每一天都比前一天多2元钱,直到他有足够的钱买票。 请计算一下,小明在第几天就能凑够108元,返回地球。要求提交的是一个整数,表示第几天。请不要提交任何多余的内容。题目分析一个简单的循环即可。题目代码———————————原创 2021-03-19 22:31:12 · 1280 阅读 · 0 评论 -
开学回归力扣:第十二题—— 229. 求众数 II(摩尔投票法)
229. 求众数 II给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1)的算法解决此问题。示例 1:输入:[3,2,3]输出:[3]示例 2:输入:nums = [1]输出:[1]示例 3:输入:[1,1,1,3,3,2,2,2]输出:[1,2] 提示:1 <= nums.length <= 5 * 104-109 <= nums[i] <= 109题原创 2021-03-15 17:16:05 · 176 阅读 · 0 评论 -
开学回归力扣:第八题——896. 单调数列三法解决
896. 单调数列如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。当给定的数组 A 是单调数组时返回 true,否则返回 false。示例 1:输入:[1,2,2,3]输出:true示例 2:输入:[6,5,4,4]输出:true示例 3:输入:[1,3,2]输出:false示例 4:原创 2021-03-12 17:36:15 · 205 阅读 · 0 评论