Leecode 1.两数之和(Java 哈希表)

1 class Solution {
2 public int[] twoSum(int[] nums, int target) {
3 Map<Integer, Integer> hashtable = new HashMap<Integer, Integer>();
4 for (int i = 0; i < nums.length; ++i) {
5 if (hashtable.containsKey(target - nums[i])) {
6 return new int[]{hashtable.get(target - nums[i]), i};
7 }
8 hashtable.put(nums[i], i);
9 }
10 return new int[0];
11 }
12 }
13
14
15 作者:LeetCode-Solution
16 链接:https://leetcode-cn.com/problems/two-sum/solution/liang-shu-zhi-he-by-leetcode-solution/
17 来源:力扣(LeetCode)
18 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
我写的:
1 class Solution {
2 public int[] twoSum(int[] nums, int target) {
3 Map<Integer, Integer> hashtable = new HashMap<Integer, Integer>();
4 int x = 0;
5 //从第一个元素x下标i开始
6 for(int i = 0;i<nums.length;i++){
7 //直至left=数组nums的长度-1
8 x = target-nums[i];
9 if(hashtable.containsKey(x)){
10 //若哈希表中无target-x的元素,则将key-x,value-left的键值对放入hashmap中
11 return new int[]{hashtable.get(x), i};
12 //期间若找到元素,则返回left和right。
13 }else{
14 hashtable.put(nums[i],i);
15 }
16 }
17 return new int[0];
18 }
19 }
Leecode 1.两数之和(Java 哈希表)的更多相关文章
- leetcode 刷题(数组篇)1题 两数之和(哈希表)
题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一个元 ...
- LeeCode:两数之和【1】
LeeCode:两数之和[1] 题目描述 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2 ...
- 【Leecode】两数之和
学习使用标准模板库(STL)中的map,hash_map.涉及数据结构知识:哈希表,红黑树. map的使用方法 https://www.cnblogs.com/fnlingnzb-learner/p/ ...
- 1. 两数之和 Java解法
这题属于Leetcode的签到题,基本上每个人一进来就是这题. 用哈希思想来做就是最好的解答. 如果一个target - num[i] 存在那么就返回那个数字对应的下标和当前元素的下标. public ...
- leecode刷题(8)-- 两数之和
leecode刷题(8)-- 两数之和 两数之和 描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输 ...
- Leecode刷题之旅-C语言/python-1.两数之和
开学后忙的焦头烂额(懒得很),正式开始刷leecode的题目了. 想了想c语言是最最基础的语言,虽然有很多其他语言很简单,有更多的函数可以用,但c语言能煅炼下自己的思考能力.python则是最流行的语 ...
- [Java]1.两数之和 - LeetCode
1 题目 2 思路与代码 思路一:暴力法(两层For循环) 时间复杂度:O(n^2) 对于每个元素,我们试图通过遍历数组的其余部分来寻找它所对应的目标元素,这将耗费 O(n) 的时间.因此时间复杂度为 ...
- LeetCode01 - 两数之和(Java 实现)
LeetCode01 - 两数之和(Java 实现) 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/two-sum 题目描述 给定一个整数数组 ...
- LeetCode刷题 1. Two Sum 两数之和 详解 C++语言实现 java语言实现
1. Two Sum 两数之和 Given an array of integers, return indices of the two numbers such that they add up ...
- leetCode:twoSum 两数之和 【JAVA实现】
LeetCode 两数之和 给定一个整数数组,返回两个数字的索引,使它们相加到特定目标. 您可以假设每个输入只有一个解决方案,并且您可能不会两次使用相同的元素. 更多文章查看个人博客 个人博客地址:t ...
随机推荐
- No.1.2
列表标签 无序列表 标签名 说明 ul 表示无序列表的整体,用于包裹li标签 li 表示无序列表的每一项,用于包含每一行的内容 有序列表 标签名 说明 ol 表示有序列表的整体,用于包裹li标签 li ...
- PR / PO审批
PR审批的BAPI 1.单个项目PR审批 CALL FUNCTION 'BAPI_REQUISITION_RELEASE' EXPORTING number = l_banfn rel_code = ...
- Linux下的zip和tar压缩解压缩命令详解
一.zip压缩工具 zip的压缩包在windows和linux中都比较常用,它可以压缩目录和文件,压缩时录时,需要指定目录下的文件.zip后面先跟目标文件名,即压缩后得自定义压缩包名,然后跟要压缩的文 ...
- linux篇之WC(word count)的使用概述
Text. Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项] [文件1] [文件2] ... 2.命 ...
- CentOS7 修改root密码
能登录系统修改root密码 passwd root(可以是其他什么用户) 输入新密码(两次) 忘记root密码不能进入系统,修改root密码 1.开机进入grub界面按e进入单用户编辑模式 2 ...
- Python面向对象编程——__init()__方法
隐式基类object 每个python类都隐式继承object 全文代码实例实现:枚举扑克牌的花色和牌面值 一._init()__方法:对象初始化 显示而非隐式:__init()__应显示展示初始化变 ...
- 【2020NOI.AC省选模拟#8】C. 海盗
题目链接 原题解: 可以发现,在给定的规则下,若前$i$个人参与分配,则每个人得到的金币个数是固定的. 假设在前$i-1$个海盗参与分配时,某个海盗能得到$x$个金币,则第$i$个海盗需要给他$x+1 ...
- windows安装kafka
1.软件下载 kafka运行需要有jdk+zookeeper环境才能够使用,官网下载 https://www.apache.org/dyn/closer.cgi/zookeeper/ http://k ...
- 基于 Docker 安装 Nginx 搭建静态服务器
最近一直在准备家里的服务器部署一个自己用的网站玩玩,一来是用来学习部署的基础知识,二来,后面有空学点前端,可以部署到自己网站玩玩. 参考链接:https://juejin.cn/post/705740 ...
- Vue中nextTick的时序问题
前言 Vue.$nextTick这个API相信很多人都用过,按照文档的解释,"在下次DOM更新循环结束之后执行延迟回调.在修改数据之后立即使用这个方法,获取更新后的DOM".我们通 ...