给定一个整数数组 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]

暴力
先固定一个数,遍历属猪寻找目标值减去固定的那个数。只需要在固定的数的右侧寻找,左侧会重复查找
class Solution {public int[] twoSum(int[] nums, int target) {for (int i = 0;i < nums.length - 1;i++){for (int j = i + 1; j < nums.length; j++) {if (nums[j] == target - nums[i]){return new int[]{i,j};}}}return null;}
}

给定一个已按照 非递减顺序排列  的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。

函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。

你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 重复使用相同的元素。
示例 1:

输入:numbers = [2,7,11,15], target = 9
输出:[1,2]
解释:2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。
示例 2:

输入:numbers = [2,3,4], target = 6
输出:[1,3]
示例 3:

输入:numbers = [-1,0], target = -1
输出:[1,2]

提示:

2 <= numbers.length <= 3 * 104
-1000 <= numbers[i] <= 1000
numbers 按 非递减顺序 排列
-1000 <= target <= 1000
仅存在一个有效答案

相比于第一题,这道题是有序的,在固定一个数查找另一个数(目标值减去固定的数)时,从右侧开始查找时,可以使用二分查找,第一题中查找另一个数要遍历,而使用二分查找会缩短时间。

class Solution {public int[] twoSum(int[] numbers, int target) {for (int i = 0;i < numbers.length;i++){int left = i + 1;int right =numbers.length - 1;while(left <= right){int mid = (left + right) / 2;if (numbers[mid] == target - numbers[i]){return new int[]{i + 1,mid + 1};}else if(numbers[mid] > target - numbers[i]){right = mid - 1;}else{left = mid + 1;}}}return null;}
}

12月29日每日一题相关推荐

  1. 一起变装吧服务器维护,2016年12月29日服务器停机维护公告

    亲爱的<天下HD>玩家: 为保证各位玩家的游戏体验,本周<天下HD>将于2016年12月29日(周四)停机维护,维护时间为早上8:00-9:30,如果在维护期间无法完成维护相关 ...

  2. 互联网晚报 | 12月29日 星期三 | 小米正式宣布对标苹果;新东方上线直播带货平台“东方甄选”;相互宝将于明年1月28日关停...

    今日看点 ✦ 雷军宣布小米正式对标苹果,未来五年研发投入将超1000亿 ✦ 李彦宏:中国迎来AI黄金十年,百度大脑日调用量突破1万亿次 ✦ 比亚迪:对提供网络黑公关线索及证据奖励5万至100万人民币 ...

  3. 12月29日--Java中有关类与对象的学习记录

    1.12月29日第一课记录 Java中有关类与对象的学习记录 一.基本概念部分 1.类:具有相同.相似的属性.特征.行为方式以及功能的一类事物的总称 (举例:一类用户,如淘宝用户) 类是对象的模板 是 ...

  4. 2014年11月3日至2014年12月29日

    2014年11月3日 1.在MyEclipse中运行写好的MapReducer,抛出: 2014-11-0310:59:24,729 WARN [main] util.NativeCodeLoader ...

  5. 蚌埠计算机二级报名时间地点,2021年3月蚌埠市计算机二级报名时间|网上报名入口【12月29日开通】...

    &nbsp&nbsp[导读]:2021年3月蚌埠市计算机二级报名时间|网上报名入口[12月29日开通],更多安徽等级考试报名时间.考试时间以及考试模拟试题,请访问易考吧安徽等级考试栏目 ...

  6. 个人空间岁末大回报活动12月29日获奖名单

    个人空间岁末大回报: 动手就有C币拿!活动已于15日启动,非常感谢各位网友的大力支持和积极参与,个人空间的所有工作人员在这祝大家好运,希望你们每天都能拿到C币存入社区银行! 欢迎各位获奖者去自己的银行 ...

  7. 2016年12月29日 星期四 --出埃及记 Exodus 21:24

    2016年12月29日 星期四 --出埃及记 Exodus 21:24 eye for eye, tooth for tooth, hand for hand, foot for foot, 以眼还眼 ...

  8. 梦想世界2014年5月29日服务器维护公告,《梦想世界3D》2016年12月29日维护内容

    <梦想世界3D>2016年12月29日维护内容 2016-12-28 作者:说玩小编 来源:说玩网 评论(9条) 我要评论 [优化调整] 1.元旦活动 1)万物复苏:12月31日10:00 ...

  9. 问道神兵天降服务器维护,问道12月29日全区更新维护1.473公告

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 .473版本欢乐开启,全新神兽.全新变异宠物闪亮登场.全新帮派革新玩法----帮派日常挑战任务.帮派独享副本---帮派乾坤八卦阵,全新玩法让您体会不一样的 ...

最新文章

  1. python3.7源码分析-集合(set)
  2. 7 orm 有批量更新_ORM之SQLAlchemy
  3. 简明python教程 --C++程序员的视角(七):异常
  4. 什么是控制反转(IOC)?什么是依赖注入?
  5. 用户注册 - 判断用户名存在
  6. C#调用webservice(二)
  7. Chapter 8 Document Management(第8章 文档管理)—1 【中英文对照】
  8. 將字串轉換為日期型數據的例子
  9. 人脸表情识别从0到部署,猜猜『轮到你了』的微笑狼人到底是谁!
  10. 移动网速测试软件,网速测试大师APP
  11. markdown中打勾,对号和打叉,表格内换行
  12. 超级炫酷的3D旋转美女图——Python实现
  13. HTML5期末大作业:旅游网站设计——中国风的旅游网站(9页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码...
  14. 如何设置幻灯片自动播放
  15. Python:1020 月饼
  16. matlab失明的小猫,从小失明的小猫,手术后第一次见到猫妈妈,场面让人泪崩!...
  17. canvas生成二维码海报-可配置
  18. 【uniapp】将uni-app开发的安卓程序运行到雷电模拟器上进行调试
  19. html实现简易音乐播放器
  20. 附件统一处理starter,含附件客户端和附件服务端

热门文章

  1. Mac触摸板鼠标自定义手势---Jitouch使用教程,让你的效率飞起来(使用过程以及遇到的坑)
  2. 上级对下级用通知合适吗_切记!这几句话千万不要对领导说
  3. android studio linux 字体,Android Studio代码字体模糊解决方法
  4. 女孩子做项目管理的发展_我可以和孩子们一起做些有趣的技术项目吗?
  5. 国际信息研究学会专家杜彪:汉字识别是如何走上机器学习领域巅峰的?
  6. 页面底部悬浮广告或关注公众号代码
  7. GitLab针对关键账户接管漏洞发布安全补丁
  8. python 请在微信客户端打开_完美解决 请在微信客户端打开链接
  9. 最左推导和最右推导,语法树,二义性文法
  10. Linux学习134 Unit 5