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

购买网站空间的注意事项做h的游戏 迅雷下载网站

购买网站空间的注意事项,做h的游戏 迅雷下载网站,服务好的高端网站建设公司,东莞产品网站建设公司1、暴力拿每个元素和后面所有的元素都比较一遍,如果有重复的,则返回;没有,就比较数组后面下一个的元素class Solution { public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值…

1、暴力

拿每个元素和后面所有的元素都比较一遍,如果有重复的,则返回;没有,就比较数组后面下一个的元素

class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param numbers int整型vector * @return int整型*/int duplicate(vector<int>& numbers) {// write code hereint len=numbers.size();if(len==0||len==1)return -1;for(int i=0;i<len;i++){//nums[i]是标准值,用来和后面数组内的其他所有元素比较的值for(int j=i+1;j<len;j++){//nums[j]是被比较的值if(numbers[i]==numbers[j]){return numbers[i];}}}return 0;}
};

2、位置重排

是吧数组内每个元素放在以当前元素为下标的数组位置上,如果当前元素不等于下标值(需要调整当前元素的位置,把它放在合适的位置上),并且调整前,应去的地方没有元素,说明此时要挪去的元素暂时还没有与它相同的,因此将当前元素放在该在的地方。

但此时将当前元素放入该放的地方之后,原来遍历的部分还需要再次比较(当把numbers[0]位置上的元素换出去之后,numbers[0]的位置上的元素是新换过来的,还需要再次比较被换过来的元素是否是应该此时numbers[0]位置上的数字),因此先将用于遍历的i减一,然后在下一次for循环后,i就会+1,因此下一次for循环处理的还是当前numbers[0]的位置

class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param numbers int整型vector * @return int整型*/int duplicate(vector<int>& numbers) {// write code hereint len=numbers.size();if(len==0||len==-1)return -1;for(int i=0;i<len;i++){//如果当前元素的值等于下标值if(numbers[i]==i){//则证明当前元素不需要改变位置continue;}//如果当前元素位置不等于下标值,应该将当前元素换到以它为下标的地方else {//如果当前元素应该在的地方已经有元素了,说明这个元素已经存在了,则返回当前元素if(numbers[i]==numbers[numbers[i]]){return numbers[i];}//暂时还没有和当前元素相等的元素,则先将当前元素放在正确的地方else {swap(numbers[i],numbers[numbers[i]]);//要把i先-1,循环1次后在+1,这样下一次for循环后还是比较数组原来位置上的数字i--;}}}return -1;}
};

3、哈希表

建立一个哈希表,遍历数组,如果数组中的元素没出现过,证明未重复,则存入哈希表,如果出现过,证明重复了

哈希表的使用,以数组内的元素为键,设bool值为值

向map中存入数值为:map[numbers[i]]=true;

哈希表的查找:map.find()——find(键)——返回的值是一个迭代器,要用iter->firstiter->second访问键值

如果没找到,返回end

#include <unordered_map>
class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param numbers int整型vector * @return int整型*/int duplicate(vector<int>& numbers) {// write code hereint len=numbers.size();if(len==0||len==1)return -1;//新建哈希表unordered_map<int, bool> mp;//遍历数组for(int i=0;i<len;i++){//如果没有出现,存入哈希表if(mp.find(numbers[i])==mp.end())//mp[numbers[i]]表示访问以numbers[i]为键对应的值mp[numbers[i]]=true;//出现,证明重复elsereturn numbers[i];}return -1;}
};
http://www.dtcms.com/wzjs/587027.html

相关文章:

  • 眉山市做网站的公司山东东营市东营区
  • 如何建设微信网站视频拍摄公司推荐
  • 深圳网站提升排名关键词搜索工具有哪些
  • 国内无版权图片网站网站怎么设计
  • 如何注册一个网站wordpress更新需要连接ftp
  • 如何跟进网站建设的客户柳州最好的网站推广公司
  • 杭州网站建设公司联系方式天津网站制作专业
  • dw创建网站导航栏菜单怎么做江宁区住房建设局网站
  • 网站自己做流量江苏建设科技网
  • 网站推广排名教程下载百度导航最新版本
  • 有没有专业做效果图的网站交易链接
  • 公司网站升级改版方案友情链接名词解释
  • 杭州笕桥网站建设品牌网站怎么做
  • 在门户网站上爆光怎么做鞍山一地发布最新通知
  • 深圳积分商城网站设计做网站-信科网络
  • 做网站去哪里做广东手机网站建设
  • 网站域名空间怎么提交汉阳网站建设鄂icp
  • 国外网站做freelancer五屏网站建设如何
  • 网站title标点改动 影响农村自建别墅二层效果图
  • 做一个购物网站做词频分析的网站
  • 岳阳建设网站制作哪个网站论文多
  • 网站开发编码选择一般是wordpress如何配置前端用户中心
  • 黄石网站建设推荐软件开发工程师需要考什么证书
  • 网站建设分类公司网站有时登不进 服务器
  • 中国建设银采购发文网站page文件怎么转换wordpress
  • “一个”网站分类信息发布 wordpress
  • 制作一个网站界面设计图片html网页制作动态效果
  • oto电子商务网站建设抖音代运营图片
  • 兰州的互联网公司有哪些整站优化哪家专业
  • 江西建设职业技术学院网站织梦贷款网站模板