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 ...
随机推荐
- .net基础—多线程(一)
基本概念 进程 打开任务管理器,从任务管理器里面可以看到当前所有正在运行的进程.那么究竟什么是进程呢? 进程(Process)是操作系统中的一个基本概念,它包含着一个运行程序所需要的资源.一个正在运行 ...
- ping Hyper-V内虚拟机网络延迟
- 实践:腾讯云COS备份本地数据以及异地备份
在当前大数据时代背景下,数据在业务中占有不可低估的地位,数据备份已然成为了最后一道屏障. 腾讯云对象存储COS,提供数据备份.共享.大数据处理.线上数据托管一站式解决方案,成为了不少企业和个人用户备份 ...
- 当FTP不能满足大文件、海量文件传输时,有没有好的替代方案?
很多企业存在大文件.海量文件的传输需求,如涉及到图像数据采集和回传.海量用户数据收集和同步等业务,一般情况,企业还是会采用传统的FTP传输,或者以此为基础,使用脚本或结合其他办公工具来解决传输需求. ...
- Linux - 查看、修改、更新系统时间(自动同步网络时间)
系统:Centos7 1.查看系统时间 执行 date 命令可以查看当前系统的时间: 执行 hwclock 命令可以查看当前系统的时间 2.手动修改系统时间 (1)执行如下命令可以设置一个新的系统时间 ...
- Python Telnetlib模块连接网络设备
# -*- coding: UTF-8 -*- import telnetlib import time import datetime import os import json Username= ...
- React工程化实践之UI组件库
分享日期: 2022-11-08 分享内容: 组件不是 React 特有的概念,但是 React 将组件化的思想发扬光大,可谓用到了极致.良好的组件设计会是良好的应用开发基础,这一讲就让我们谈一谈Re ...
- STM32 获取系统时钟频率
//定义一个RCC_ClocksTypeDef 的结构体 RCC_ClocksTypeDef get_rcc_clock; //调用RCC_GetClocksFreq获取系统时钟状态 RCC_GetC ...
- redis统计用户活跃数量
1.说明,redis 位图存储节省内存,用户id:156,1333; 如果用户登录,根据日期存储为1 setbit 20209001 156 1 ;//id为156的用户在1月1号登录了 setbit ...
- Java基础Day4-Java方法
一.方法的定义 Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段. 方法包括一个方法头和一个方法体. 修饰符 返回值类型 方法名(参数类型 参数名){ 方法体 ...