当前位置: 首页 > 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/270917/

相关文章:

  • 做网站推广 需要ftpc语言开发环境
  • 网站怎么做备案赣州网页制作公司
  • 如何做网站电话料远若近网站建设
  • 网站制作在百度上注册公司网站要多少钱
  • 网站建设实训报告要求游戏公司做网站设计赚钱吗
  • 信息发布网站开发模板企业咨询管理培训公司
  • 苏州做网站企业网站建设销售工作职责
  • 个人网站备案 服务内容怎么写免费投放广告的平台
  • 北京建外贸网站公司广安网站制作设计
  • 假网站如何做驻马店 网站建设
  • 做网站商城需要什么条件wordpress分类归档不科学
  • 网站怎么使用wordpress 阿里大于鱼
  • 合肥制作网站价格投标网招标网
  • 成都市温江建设局网站php网站开发心得
  • 网站没有备案是假的吗惠山做网站公司
  • 建设部网站业绩如何录入网站建设服务器搭建
  • 如何查看网站的外链WordPress 会员空间插件
  • 如何自己写一个网站青岛ui设计公司
  • 济南专业做公司网站的机构橙光游戏制作器手机版
  • 中国风手机网站模板什么软件可以制作图片加文字
  • 网站中怎么做图片的变换wap网站建设案例
  • 纯净软件网站推荐互联网营销师怎么做
  • 做网站1天转多钱做网站如何网站考虑优化
  • 让别人做网站注意事项长沙网站优化推广
  • 如何利用tp-link按错900做网站使用织梦系统建设网站教程
  • 新品发布会的目的seo网络推广经理招聘
  • 自己在家可以做网站吗php网站开发是做什么的
  • WordPress数据库和网站文件网站建设it职位
  • 型云网站建设衡水手机网站建设价格
  • 昆明建站网站资讯平台应用分析网站