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

网站底部导航设置芙蓉区网站建设

网站底部导航设置,芙蓉区网站建设,wordpress电话,柳市做公司网站解题思路&#xff1a; \qquad 对每个数nums[i]&#xff0c;仅需在数组中搜索target-nums[i]是否存在。 优化思路&#xff1a; \qquad 首先能想到&#xff0c;利用哈希表O(1)查询target-nums[i]。 \qquad 建立map<int, vector<int>>的表能够处理重复元素&#x…

在这里插入图片描述
解题思路:
\qquad 对每个数nums[i],仅需在数组中搜索target-nums[i]是否存在。

优化思路:
\qquad 首先能想到,利用哈希表O(1)查询target-nums[i]
\qquad 建立map<int, vector<int>>的表能够处理重复元素,保证找到所有解。但是,能否进一步优化?

\qquad 观察题目假设,每个输入只有一种解,对于nums[i] == nums[j]的情况,当遍历到nums[j]时,只要二者的和=目标,即可直接输出无需再存入表中,如果和不满足且后面存在合理的解,那么无论输出i还是j都成立。所以建立的表无需处理重复的情况,可建表map<int,int>

\qquad 到这里,思路已经足够简洁,但是能否进一步优化代码实现提高运行速度?

优化代码:
\qquad 1)使用unordered_map

mapunordered_map
特点有顺序(key升序)元素排列无顺序
实现方式红黑树哈希表(散列表)
时间效率O(logn)O(1)
存储效率接近100%表中存在未使用的值
稳定性分析平衡二叉树,十分稳定O(logn)不稳定,最快O(1),最坏O(n)【冲突过多时】
头文件<map><unordered_map>

\qquad 注:写题大多时候适用 unordered_map,当对查询稳定性要求高、需要排序时用map。

\qquad 2)虽然函数返回值为vector<int>,但已知返回长度,可以不建立数组,直接返回{num1,num2}

vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int,int> m;int n = nums.size();for(int i = 0; i < n; i++){if(m.count(target - nums[i]) == 0){m[nums[i]] = i;}else{return {i, m[target - nums[i]]};}}return {};}

参考博客:
https://blog.csdn.net/JCjunior/article/details/107471425
https://blog.csdn.net/qq_45890970/article/details/123955261

http://www.yayakq.cn/news/638011/

相关文章:

  • 网络设置的网站免费网站推广优化
  • 深圳网站seo教程wordpress如何抓取
  • 网站安装源码西安网站制作有限公司
  • 信息手机网站模板昆山网站建设河北
  • 电商网站的建设背景图片青岛谁优化网站做的好
  • 东莞大型网站建设公司wordpress放弃php
  • 中山网站seo优化县级部门和乡镇不能建网站建设
  • 任务网站(做任务学技能的)建材企业网站推广
  • 大连建设工程信息网站网站建设工作落实情况
  • 检测网站开发语言工具大连云建站模板
  • 抚州市城乡建设局网站九江哪家网站建设公司好
  • 怎么自己创建网站免费网站建设补充协议模板
  • 网站页脚设计建设网站上申请劳务资质
  • 湖北省建设招投标监督机构网站源码资源下载站
  • 素材图库网站源码2023年专升本最新政策
  • 上海网站建设推荐q479185700顶你上线了做网站怎么样
  • 文化墙设计网站推荐做qq头像的网站
  • 邢台seo网站制作重庆博达建设集团网站
  • 东莞网站关键词推广常州做金属网格公司
  • 黑龙江建设局网站产品宣传视频怎么制作
  • 成都市建设招标网站郑州排名前十的科技公司
  • 长沙网站运营营销网站更受用户欢迎的原因是
  • 建设网站需要的人才seo资源
  • 建设一个网站怎么赚钱线上维护需要做什么
  • 深圳市专业制作网站公司吗资源优化排名网站
  • 为了推出企业网站建设网站服务器如何管理
  • 做网站能用的字体网站建设四个阶段的流程
  • 义乌万物网络科技 网站建设网站提交搜索引擎后出现问题
  • 网站开发与维护难吗网站备案 排名影响
  • 网页自助建站站长统计ios