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

唐山哪个公司可以建网站湖南手机版建站系统哪个好

唐山哪个公司可以建网站,湖南手机版建站系统哪个好,贵阳网站建设哪家好,滁州做网站价格解题思路&#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/130313/

相关文章:

  • 北京昌平网站设计关键词调价工具哪个好
  • 大学生网站建设实践报告衡东网站建设
  • 深圳网站建设收费重庆商城网站建设地址
  • 国外买东西的网站有哪些wordpress 4.4.1漏洞
  • 在线学习软件开发网站建设品牌建设工作经验
  • 国外医院网站设计宣传片拍摄心得体会
  • 专业网站推广引流wordpress获取分类名
  • wordpress搭建企业网站思路腾讯游戏推广代理加盟
  • 上饶做网站的公司WordPress分类目录图标
  • 网站如何做下拉菜单深圳网站建设高端设计
  • 怎么制作钓鱼网站链接做网站实现图片自动压缩
  • 科技网站颜色星火教育培训机构
  • 访问量大的网站适合夜里看的php
  • 建设一个用教育网站建站平台在线提交功能
  • wordpress类似网站模板胶州哪家公司做网站
  • 天津刘金鹏做网站教你如何建网站
  • 手机网站网址申请做网站的什么行业好出单
  • 做网站切片软件界面设计图
  • 东莞公司注册流程优化排名 生客seo
  • 做一个网站开发要多少钱淄博网站建设网站推广
  • 百度如何推广网站精品课程网站怎么做
  • 新乡做企业网站的公司在哪里创建网站平台
  • 中劳网做网站竹子建站登录
  • 做服装团购有哪些网站永久二级域名分发平台
  • 内部优惠券网站建站营销型网站推广服务
  • 企业网站一般要素网页布局怎么设计
  • 网站建设开传媒公司招聘岗位
  • 响应式品牌网站游戏网站logo制作
  • 个人网站当企业网站用网站服务合同用交印花税吗
  • 高端大气上档次的网站网站后台加密