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

长寿网站建设青岛疫情最新情况

长寿网站建设,青岛疫情最新情况,营销网站 app开发,开发工具在哪里文章目录题目描述题目难度——简单方法一:暴力代码/Python方法二:哈希表代码/Python代码/C总结题目描述 这道题可以说是力扣的入坑题了,很经典,好像还是面试的经典题。 给定一个整数数组 nums 和一个整数目标值 target&#xff0c…

文章目录

    • 题目描述
    • 题目难度——简单
    • 方法一:暴力
      • 代码/Python
    • 方法二:哈希表
      • 代码/Python
      • 代码/C++
    • 总结

题目描述

这道题可以说是力扣的入坑题了,很经典,好像还是面试的经典题。

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

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

 

示例 1:

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

示例 2:

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

示例 3:

输入:nums = [3,3], target = 6
输出:[0,1]

 

提示:

  • 2 <= nums.length <= 104
  • -109 <= nums[i] <= 109
  • -109 <= target <= 109
  • 只会存在一个有效答案

 

进阶:你可以想出一个时间复杂度小于 O(n2) 的算法吗?

题目链接

题目难度——简单

方法一:暴力

  最简单的方法就是无脑暴力,虽然看数组长度可能会失败,但平均下来找到答案时两个下标的差距的期望应该不大,可以暴力一试。用两个循环,每次判断两个数相加是否为target。

代码/Python

class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:res = []n = len(nums)for i in range(n):for j in range(n):if i != j and nums[i] + nums[j] == target:res.append(i)res.append(j)return resreturn [-1, -1]    

方法二:哈希表

  我们可以只用一次循环就找到答案,在一次遍历中,对每个x,问题可以变成在数组中找target-x的坐标,如果我们能知道过去遍历过的数的位置i,那么答案就显然是当前位置和i,否则我们继续往前遍历,并记录当前元素的位置。所以我们需要一个字典。

代码/Python

class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:res = [-1, -1]n = len(nums)pos = dict()for i in range(n):tmp = target - nums[i]if tmp in pos:res[0], res[1] = i, pos[tmp]return reselse:pos[nums[i]] = ireturn res    

在这里插入图片描述

代码/C++

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {vector<int> res(2);unordered_map<int, int> pos;int i, tmp;for(i = 0; i < nums.size(); i++){tmp = target - nums[i];if(pos.count(tmp) != 0){res[0] = i;res[1] = pos[tmp];return res;}else{pos[nums[i]] = i;}}return res;}
};

在这里插入图片描述

总结

  第一种暴力,所以时间是O(N2),空间是O(1),第二种遍历一次,时间是O(N), 使用了字典,所以空间是O(N)。

http://www.yidumall.com/news/6856.html

相关文章:

  • 网站建设公司需要icp证网页
  • 网络营销策划的目的seo顾问收费
  • 广东全屋定制十大名牌济南seo优化公司助力网站腾飞
  • 网站开发项目需求营销推广的形式包括
  • 杭州做企业网站公司无锡百度快照优化排名
  • 免费网店怎么开浙江seo技术培训
  • 涟源市住房与城乡建设局网站千博企业网站管理系统
  • 和城乡建设部网站长春网站快速排名提升
  • 百度信息流网站可以做落地页吗今日油价92汽油价格调整最新消息
  • 上海网网站建设注册百度账号
  • 校园网站建设与管理品牌seo是什么意思
  • 西安建站软件漳州seo网站快速排名
  • 传奇广告网站怎么做爱站网长尾关键词挖掘查询工具
  • 网站建设项目描述成都网络推广公司
  • 网站建设需要企业提供哪些素材关键字挖掘爱站网
  • 做网站webform mvc友情链接代码模板
  • 有实力营销型网站建设百度免费下载安装百度
  • 商城网站模板下载如何开发网站平台
  • 如何建立网站视频深圳seo优化外包公司
  • 在后台怎么做网站内链上海推广外包
  • 做网站站长先把作息和身体搞好找客户的十大方法
  • 福建省建设工程继续教育网站华为云速建站
  • 吉林省高等级公路建设局 网站如何制作app软件
  • 网站后台文本编辑器seo是搜索引擎吗
  • 温州网站维护工作短视频推广
  • 高端论坛网站建设公司网络推广营销
  • 做房产信息网站百度推广页面投放
  • 如何通过cpa网站做推广东莞seo网络营销
  • 编写 网站 语言潍坊做网站公司
  • wordpress 农业主题seo网站优化培训价格