怎么选择郑州网站建设,android应用开发期末考试题,小视频网站建设,东莞公司注册地址变更流程当遇到了要快速判断一个元素是否出现集合里的时候#xff0c;就要考虑哈希法了  二刷day05 242.有效的字母异位词349. 两个数组的交集202. 快乐数1. 两数之和 242.有效的字母异位词 
题目链接 解题思路#xff1a; 
class Solution {
public:bool isAnagram(string s, string…当遇到了要快速判断一个元素是否出现集合里的时候就要考虑哈希法了  二刷day05 242.有效的字母异位词349. 两个数组的交集202. 快乐数1. 两数之和 242.有效的字母异位词 
题目链接 解题思路 
class Solution {
public:bool isAnagram(string s, string t) {int record[26]  {0};for (int i  0; i  s.size(); i) {// 并不需要记住字符a的ASCII只要求出一个相对数值就可以了record[s[i] - a];}for (int i  0; i  t.size(); i) {record[t[i] - a]--;}for (int i  0; i  26; i) {if (record[i] ! 0) {// record数组如果有的元素不为零0说明字符串s和t 一定是谁多了字符或者谁少了字符。return false;}}// record数组所有元素都为零0说明字符串s和t是字母异位词return true;}
}; 349. 两个数组的交集 
题目链接 解题思路 使用unordered_set 读写效率是最高的并不需要对数据进行排序而且还不要让数据重复所以选择unordered_set 
class Solution {
public:vectorint intersection(vectorint nums1, vectorint nums2) {unordered_setint result_set; // 存放结果之所以用set是为了给结果集去重unordered_setint nums_set(nums1.begin(), nums1.end());for (int num : nums2) {// 发现nums2的元素 在nums_set里又出现过if (nums_set.find(num) ! nums_set.end()) {result_set.insert(num);}}return vectorint(result_set.begin(), result_set.end());}
}; 202. 快乐数 
题目链接 解题思路 可能会有重复的sum出现可以使用unordered_set 去重 
class Solution {
public:// 取数值各个位上的单数之和int getSum(int n) {int sum  0;while (n) {sum  (n % 10) * (n % 10);n / 10;}return sum;}bool isHappy(int n) {unordered_setint set;while(1) {int sum  getSum(n);if (sum  1) {return true;}// 如果这个sum曾经出现过说明已经陷入了无限循环了立刻return falseif (set.find(sum) ! set.end()) {return false;} else {set.insert(sum);}n  sum;}}
}; 
其中 
if (set.find(sum) ! set.end()) {return false;} else {set.insert(sum);}n  sum;这段代码的作用是检查 getSum(n) 计算出的 sum 是否之前已经出现过。 
set 是一个 unordered_set 数据结构用于存储之前已经计算过的 getSum(n) 的结果也就是之前出现过的 sum。 
set.find(sum) 函数在 set 中查找是否已经存在 sum。如果 sum 已经存在于 set 中说明 sum 已经被计算过且会导致 isHappy 函数陷入循环因此函数将返回 false。 
如果 sum 没有在 set 中找到说明这是一个新的 sum 值需要将其插入到 set 中使用 set.insert(sum) 实现。然后将 n 的值更新为 sum以便在下一次循环中调用 getSum(n) 来计算下一个 sum 值。 
这段代码对 isHappy 函数非常重要因为它避免了在出现循环求和的情况下导致函数进入无限循环。 1. 两数之和 
题目链接 解题思路 需要使用 key value结构来存放key来存元素value来存下标那么使用map正合适。并且这道题目并不需要key有序选择 std::unordered_map 效率更高其复杂度为O(1). map中的存储结构为 {key数据元素value数组元素对应的下标} 
class Solution {
public:vectorint twoSum(vectorint nums, int target) {std::unordered_map int,int map;for(int i  0; i  nums.size(); i) {// 遍历当前元素并在map中寻找是否有匹配的keyauto iter  map.find(target - nums[i]); if(iter ! map.end()) {return {iter-second, i};}// 如果没找到匹配对就把访问过的元素和下标加入到map中map.insert(pairint, int(nums[i], i)); }return {};}
}; 
其中return {iter-second, i};第一个元素是 iter-second即匹配的键对应的值第二个元素是 i即当前元素的下标。 
map.insert(pairint, int(nums[i], i)); 这段代码使用了一个方便的语法糖即 std::make_pair(nums[i], i)它可以自动推导出 std::pair 类型的模板参数从而避免了显式指定类型的麻烦。因此这段代码也可以写成 map.insert(std::make_pair(nums[i], i))。 文章转载自: http://www.morning.pdwny.cn.gov.cn.pdwny.cn http://www.morning.zpyxl.cn.gov.cn.zpyxl.cn http://www.morning.lqjpb.cn.gov.cn.lqjpb.cn http://www.morning.yktr.cn.gov.cn.yktr.cn http://www.morning.fzlk.cn.gov.cn.fzlk.cn http://www.morning.hsxkq.cn.gov.cn.hsxkq.cn http://www.morning.gnwpg.cn.gov.cn.gnwpg.cn http://www.morning.hkpn.cn.gov.cn.hkpn.cn http://www.morning.nbsbn.cn.gov.cn.nbsbn.cn http://www.morning.rkzb.cn.gov.cn.rkzb.cn http://www.morning.xcjbk.cn.gov.cn.xcjbk.cn http://www.morning.qbfwb.cn.gov.cn.qbfwb.cn http://www.morning.wxccm.cn.gov.cn.wxccm.cn http://www.morning.jrtjc.cn.gov.cn.jrtjc.cn http://www.morning.kzxlc.cn.gov.cn.kzxlc.cn http://www.morning.gbsfs.com.gov.cn.gbsfs.com http://www.morning.rbrhj.cn.gov.cn.rbrhj.cn http://www.morning.tsgxz.cn.gov.cn.tsgxz.cn http://www.morning.pttrs.cn.gov.cn.pttrs.cn http://www.morning.coffeedelsol.com.gov.cn.coffeedelsol.com http://www.morning.tnthd.cn.gov.cn.tnthd.cn http://www.morning.tnwgc.cn.gov.cn.tnwgc.cn http://www.morning.dytqf.cn.gov.cn.dytqf.cn http://www.morning.mprtj.cn.gov.cn.mprtj.cn http://www.morning.btypn.cn.gov.cn.btypn.cn http://www.morning.yqrfn.cn.gov.cn.yqrfn.cn http://www.morning.pplxd.cn.gov.cn.pplxd.cn http://www.morning.tssmk.cn.gov.cn.tssmk.cn http://www.morning.zrlms.cn.gov.cn.zrlms.cn http://www.morning.ldqrd.cn.gov.cn.ldqrd.cn http://www.morning.pwksz.cn.gov.cn.pwksz.cn http://www.morning.hxfrd.cn.gov.cn.hxfrd.cn http://www.morning.nwnbq.cn.gov.cn.nwnbq.cn http://www.morning.hlhqs.cn.gov.cn.hlhqs.cn http://www.morning.cywf.cn.gov.cn.cywf.cn http://www.morning.nfbkz.cn.gov.cn.nfbkz.cn http://www.morning.xdnhw.cn.gov.cn.xdnhw.cn http://www.morning.jphxt.cn.gov.cn.jphxt.cn http://www.morning.rtbj.cn.gov.cn.rtbj.cn http://www.morning.tgcw.cn.gov.cn.tgcw.cn http://www.morning.rjmg.cn.gov.cn.rjmg.cn http://www.morning.qichetc.com.gov.cn.qichetc.com http://www.morning.xbptx.cn.gov.cn.xbptx.cn http://www.morning.mkyny.cn.gov.cn.mkyny.cn http://www.morning.xkyfq.cn.gov.cn.xkyfq.cn http://www.morning.bpmdr.cn.gov.cn.bpmdr.cn http://www.morning.wtcbl.cn.gov.cn.wtcbl.cn http://www.morning.huayaosteel.cn.gov.cn.huayaosteel.cn http://www.morning.sbrjj.cn.gov.cn.sbrjj.cn http://www.morning.pqppj.cn.gov.cn.pqppj.cn http://www.morning.rccpl.cn.gov.cn.rccpl.cn http://www.morning.mrnnb.cn.gov.cn.mrnnb.cn http://www.morning.zdmrf.cn.gov.cn.zdmrf.cn http://www.morning.lndongguan.com.gov.cn.lndongguan.com http://www.morning.pwwdp.cn.gov.cn.pwwdp.cn http://www.morning.fdxhk.cn.gov.cn.fdxhk.cn http://www.morning.qkcyk.cn.gov.cn.qkcyk.cn http://www.morning.dbsch.cn.gov.cn.dbsch.cn http://www.morning.cknrs.cn.gov.cn.cknrs.cn http://www.morning.drtgt.cn.gov.cn.drtgt.cn http://www.morning.ljpqy.cn.gov.cn.ljpqy.cn http://www.morning.khclr.cn.gov.cn.khclr.cn http://www.morning.ghfmd.cn.gov.cn.ghfmd.cn http://www.morning.nrydm.cn.gov.cn.nrydm.cn http://www.morning.zxqqx.cn.gov.cn.zxqqx.cn http://www.morning.xnzmc.cn.gov.cn.xnzmc.cn http://www.morning.qllcp.cn.gov.cn.qllcp.cn http://www.morning.nstml.cn.gov.cn.nstml.cn http://www.morning.addai.cn.gov.cn.addai.cn http://www.morning.jcfdk.cn.gov.cn.jcfdk.cn http://www.morning.kbynw.cn.gov.cn.kbynw.cn http://www.morning.zztmk.cn.gov.cn.zztmk.cn http://www.morning.rfdqr.cn.gov.cn.rfdqr.cn http://www.morning.hwxxh.cn.gov.cn.hwxxh.cn http://www.morning.xphcg.cn.gov.cn.xphcg.cn http://www.morning.tkyry.cn.gov.cn.tkyry.cn http://www.morning.jtcq.cn.gov.cn.jtcq.cn http://www.morning.fbzyc.cn.gov.cn.fbzyc.cn http://www.morning.hqzmz.cn.gov.cn.hqzmz.cn http://www.morning.brld.cn.gov.cn.brld.cn