当前位置: 首页 > news >正文

中国建设银行建银购网站金堂企业网站建设

中国建设银行建银购网站,金堂企业网站建设,住建局哪个科室最吃香,国外域名注册公司算法刷题-哈希表 242. 有效的字母异位词 给定两个字符串 *s* 和 *t* #xff0c;编写一个函数来判断 *t* 是否是 *s* 的字母异位词。 **注意#xff1a;**若 *s* 和 *t* 中每个字符出现的次数都相同#xff0c;则称 *s* 和 *t* 互为字母异位词。 思路 用一个哈希表来记…算法刷题-哈希表 242. 有效的字母异位词 给定两个字符串 *s* 和 *t* 编写一个函数来判断 *t* 是否是 *s* 的字母异位词。 **注意**若 *s* 和 *t* 中每个字符出现的次数都相同则称 *s* 和 *t* 互为字母异位词。 思路 用一个哈希表来记录第一个字符串每个字符出现的次数然后遍历第二个字符串减去他的字母出现的次数 最后如果哈希表每个值都是0说明符合题意 代码 bool isAnagram(string s, string t) {mapchar,int m;for(char c:s) m[c];for(char c:t) m[c]--;for(auto [x,y]:m) {if(y!0) return false;}return true;}349. 两个数组的交集 给定两个数组 nums1 和 nums2 返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 思路 用一个set记录第一个数组出现了哪些元素然后再开一个set记录两个数组都出现的元素即可 代码 vectorint intersection(vectorint nums1, vectorint nums2) {vectorint res;setint s,s2;for(int x:nums1) s.insert(x);for(int x:nums2){if(s.count(x)) s2.insert(x);} for(int x:s2) res.push_back(x);return res;}202. 快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为 对于一个正整数每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1那么这个数就是快乐数。 如果 n 是 快乐数 就返回 true 不是则返回 false 。 思路 写一个函数f来计算每次变化后的结果 用一个哈希表来存n能变到哪些数字如果第二次变到哈希表里的数字说明有循环退出即可 代码 int f(int n){int x0;while(n) x(n%10)*(n%10),n/10;return x;}bool isHappy(int n) {setint s;while(1){if(n1) return 1;if(s.count(n)) return 0;s.insert(n);nf(n);}}1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target请你在该数组中找出 和为目标值 target 的那 两个 整数并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 思路 用一个哈希表记录每个数字出现的位置 再遍历一次数组如果nums[i]-target在哈希表中存在说明找到了直接返回 代码 vectorint twoSum(vectorint nums, int target) {mapint,int m;int nnums.size();for(int i0;in;i) m[nums[i]]i;for(int i0;in;i){int jm[target-nums[i]];if(j!0j!i) return {i,j};}return {0,0};}454. 四数相加 II 给你四个整数数组 nums1、nums2、nums3 和 nums4 数组长度都是 n 请你计算有多少个元组 (i, j, k, l) 能满足 0 i, j, k, l nnums1[i] nums2[j] nums3[k] nums4[l] 0 思路 先将nums1和nums2所有可能得到的值的组合存到哈希表中 在遍历nums3和nums4判断0-nums3[i]-nums4[j]在不在哈希表中 时间复杂度为 O ( n 2 ) O(n^2) O(n2) 代码 int fourSumCount(vectorint nums1, vectorint nums2, vectorint nums3, vectorint nums4) {mapint,int m;for(int x:nums1)for(int y:nums2)m[xy];int res0;for(int x:nums3)for(int y:nums4)if(m[0-x-y]!0)resm[0-x-y];return res;}383. 赎金信 给你两个字符串ransomNote 和 magazine 判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以返回 true 否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 思路 将第二个字符串的每个字符出现的次数存入到哈希表中 在遍历第一个字符串对应出现的次数减去 最后判断是否有出现次数0的字母说明不符合题意 代码 bool canConstruct(string ransomNote, string magazine) {mapchar,int m;for(char c:magazine) m[c];for(char c:ransomNote) m[c]--;for(auto [x,y]:m) if(y0) return false;return true;}15. 三数之和 给你一个整数数组 nums 判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k 同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 **注意**答案中不可以包含重复的三元组。 思路 先对数据进行排序然后遍历一次数组双指针不断缩小范围 代码 vectorvectorint threeSum(vectorint nums) {sort(nums.begin(),nums.end());vectorvectorint res;int nnums.size();for(int k0;kn-2;k){if(nums[k]0) break;if(k0nums[k]nums[k-1]) continue;int ik1,jn-1;while(ij){int sumnums[k]nums[i]nums[j];if(sum0)while(ij nums[i]nums[i]);else if(sum0) while(ij nums[j] nums[--j]);else{res.push_back({nums[i],nums[j],nums[k]});while(ijnums[i]nums[i]);while(ijnums[j]nums[--j]);}}}return res;}18. 四数之和 给你一个由 n 个整数组成的数组 nums 和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] 若两个四元组元素一一对应则认为两个四元组重复 0 a, b, c, d na、b、c 和 d 互不相同nums[a] nums[b] nums[c] nums[d] target 你可以按 任意顺序 返回答案 。 思路 和三数之和一样双指针算法。 代码 vectorvectorint fourSum(vectorint nums, int target) {sort(nums.begin(),nums.end());vectorvectorint res;int nnums.size();for(int k0;kn;k){if(nums[k]targetnums[k]0) break;if(k0 nums[k]nums[k-1] ) continue;for(int ik1;in;i){if(ik1 nums[i]nums[i-1]) continue;int li1,rn-1;while(lr){long long sum(long long)nums[k]nums[i]nums[l]nums[r];if(sumtarget) r--;else if(sumtarget) l;else {res.push_back({nums[k],nums[i],nums[l],nums[r]});while(lr nums[l]nums[l1])l;while(lr nums[r]nums[r-1]) r--;r--,l;}}}}return res;}
http://www.zqtcl.cn/news/803957/

相关文章:

  • 手机微网站开发的目的和意义温州公司网站开发
  • 除了外链 还有什么办法使网站提高排名网站建设珠海 新盈科技
  • 几分钟弄清楚php做网站中国风景摄影网
  • 卡片式网站网页设计公司的市场评估
  • 网站开发的感想wordpress水煮鱼
  • 网站开发入门培训机构自豪地采用wordpress更改
  • 手机网站来几个最近的国际新闻大事件
  • 重庆网站开发设计公司电话资源网站优化排名
  • 国土分局网站建设方案外贸seo网站
  • 营销型网站建设易网拓烟台h5网站建设公司
  • PHP网站开发都需要学什么中介网站模板
  • 网站建设与维护模板官方网站建设费用应入什么科目
  • 网站建设企业关键词seo关键词库
  • 美容院网站源码wordpress scandir
  • 长春电商网站建设报价北京创意设计协会网站
  • 企业3合1网站建设公司加强政协网站建设
  • 专业做互联网招聘的网站有哪些内容百度搜索引擎推广收费标准
  • 物流网站开发系统论文怎么知道网站程序是什么做的
  • 湖南高端网站制作公php网站后台
  • 建好的网站在哪里wordpress部署到git
  • 浙江坤宇建设有限公司网站毕业设计 旅游网站建设
  • 做网站月收入多少视频短视频api
  • 泰安网站建设哪家强网站流量指标
  • 网站毕业设计开题报告wordpress账户密码忘记
  • 做网站学费多少钱0基础学app程序开发
  • 忻州建站公司辽宁省建设执业信息网官网
  • 北京网站建设 云智互联集安网站建设
  • 无锡市建设培训中心网站私人订制软件平台
  • 宁波网站设计推荐荣盛网络招远网站制作
  • 网站开发维护运维室内设计师怎么找