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

扬州立扬计算机培训网站建设怎么样搜狐酒业峰会

扬州立扬计算机培训网站建设怎么样,搜狐酒业峰会,网站建设电话着么打,用wordpress做购物网站什么时候用数组、什么时候用map呢? 经常会混淆。 混淆1:例如有时候题目可能要求在一大堆元素里找目标元素,要求不能利用用过的字母,这就会让我想到只包含一个键值的set或者是map,但实际上忽略了字母(限定大…

什么时候用数组、什么时候用map呢?

经常会混淆。
混淆1:例如有时候题目可能要求在一大堆元素里找目标元素,要求不能利用用过的字母,这就会让我想到只包含一个键值的set或者是map,但实际上忽略了字母(限定大小写的情况下)是只有26个字母的情况,那么这个时候限定了范围大小就可以用一个vector容器或者是直接int a[26],这样直接利用ASCII码的原理记录什么字母出现了几次,用一次减一个就OK了 例如用来判断有效异位单词和赎金信这样的题。

混淆2:同样是不让使用重复的元素,但这个元素是数字的情况下,例如是求几个数之和这样的情况,仍然是这几种情况,利用哈希表[target-某key]是否存在,前提也是要么记录了一些和出现的次数,那么如果有就可以返回在这一种相等的情况下有几次,或者需要索引的情况下,就用map这样的有键值对的,值就是存储对应元素的下标,找到是否存在之后,就可以获取她的下标二零

当然,有的地方用哈希表好像很合适,但实际上要设计去重之类的,像三数之和这样的题目,用双指针法更加合适。

混淆1 对应的题-有效异位单词、赎金信

赎金信题目:
给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。
如果可以,返回 true ;否则返回 falsemagazine 中的每个字符只能在 ransomNote 中使用一次。
有效异位单词:
就判断一个单词是不是另一个单词的字母重组的就行。

要点

这里当然就是记录出现的次数++,然后再另一个里面出现的次数–,如果出现了正值或者负值的情况,根据不同的题目判断。

混淆2 对应的题–两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

示例 1:
输入:nums = [3,2,4], target = 6
输出:[1,2]
示例 2:
输入:nums = [3,3], target = 6
输出:[0,1]

要点

直接在一层遍历里完成两项任务,一个是查找哈希表是否存在[target-当前value]的键,一个是如果没找到就添加当前value。一个for完成两件事

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {std::unordered_map<int,int> nums_map;for (int i = 0; i < nums.size(); i++) {auto it = nums_map.find(target-nums[i]);if ( it != nums_map.end()) {return { it->second, i};}nums_map.insert(pair<int,int> (nums[i], i));}return {};}
};

混淆2-四数相加||

给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:
0 <= i, j, k, l < n
nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0

要点

这个就是要求返回有多少个,那么键值对应的值就应该填入出现的次数。那么在本题里面,出现的次数就指的是前两个数组的不同下标元素相加的和出现的次数了。

class Solution {
public:int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {int count = 0;unordered_map<int, int> GroupAandB;for (int a : nums1) {for (int b : nums2) {GroupAandB[a + b]++;}}for (int c : nums3) {for (int d : nums4) {if (GroupAandB.find(0-(c + d)) != GroupAandB.end()) {count += GroupAandB[0 - (c + d)]; //加上键值}}}return count;}
};
http://www.dtcms.com/wzjs/52692.html

相关文章:

  • b2c购物网站开发营销型网站和普通网站
  • 美食网站首页怎么做百度搜索排行榜风云榜
  • 网站开发工期安排西安网络优化哪家好
  • 网站框架类型百度网站怎么申请注册
  • 调教亲妹妹做性奴网站百度网页版浏览器入口
  • 重庆建设网站首页seo的推广技巧
  • 恩施做网站网站建设报价单模板
  • 茂名网站建设方案书企业建站 平台
  • java可以做微信网站么外贸平台app
  • 做微商卖产品在哪个网站销量能好点点击宝seo
  • 如何查看网站的更新频率百度竞价包年推广公司
  • 淘宝上面如何做网站电商营销策划方案
  • dw网页制作模板下载深圳的seo网站排名优化
  • page+编辑+wordpress谷歌优化
  • 淘宝网站上的图片是怎么做的seo排名优化方式
  • 做的最好的手机网站seo网络优化招聘
  • 湖北网站建设报价广州快速排名
  • 网站建设开发教程视频教程搜狗站长工具综合查询
  • 网站内的新闻怎样做链接大型网站建设公司
  • 做亚马逊和淘宝网站淘宝关键词排名优化技巧
  • 如何做网站迁移驻马店百度seo
  • 关于做网站的外语文献书名凡科网小程序
  • 做网站设计哪家好台州关键词优化报价
  • 建网站需要什么东西广告网页
  • 哪些网站设计的好俄罗斯搜索引擎yandex推广
  • 宁波网站建设服务电话seo前线
  • 攀枝花建设规划网站青岛seo软件
  • 2017网站建设报价单网络营销的方法
  • 金融公司网站免费模板3a汽车集团公司网络营销方案
  • 网站建设的开发方式和费用优化大师电脑版官方