1. 两数之和

1. 两数之和

)

原题链接:

1. 两数之和

https://leetcode.cn/problems/two-sum/description/

完成情况:

解题思路:

复制代码
/**
 * 进阶:你可以想出一个时间复杂度小于 O(n2) 的算法吗?
 *  只会存在一个有效答案
 *
 * 两数之和,主要要实现的就是,我怎么快速在一堆数里面,找一个数
 * 那就需要用到集合
 *
 * @param nums
 * @param target
 * @return
 */

参考代码:

java 复制代码
package 日常Java程序测试.代码随想录.哈希表;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

public class __1两数之和 {
	/**
	 * 进阶:你可以想出一个时间复杂度小于 O(n2) 的算法吗?
	 *  只会存在一个有效答案
	 *
	 * 两数之和,主要要实现的就是,我怎么快速在一堆数里面,找一个数
	 * 那就需要用到集合
	 *
	 * @param nums
	 * @param target
	 * @return
	 */
	public int[] twoSum(int[] nums, int target) {
		//然后这道题,还要返回下标,那么你就可以key等于nums[i],v等于i
		Map<Integer,Integer> haveNum = new HashMap<Integer,Integer>();
		for (int i=0;i< nums.length;i++){
			if (haveNum.containsKey(target - nums[i])){
				return new int[]{haveNum.get(target-nums[i]),i};
			}
			haveNum.put(nums[i],i);
		}
		return new int[]{1};
	}
}

错误经验吸取

相关推荐
浅念-8 小时前
递归解题指南:LeetCode经典题全解析
数据结构·算法·leetcode·职场和发展·排序算法·深度优先·递归
Kiling_07048 小时前
Java集合进阶:Set与Collections详解
算法·哈希算法
智者知已应修善业9 小时前
【51单片机89C51及74LS273、74LS244组成】2022-5-28
c++·经验分享·笔记·算法·51单片机
洛水水9 小时前
【力扣100题】33.验证二叉搜索树
算法·leetcode·职场和发展
SimpleLearingAI9 小时前
聚类算法详解
算法·数据挖掘·聚类
刀法如飞10 小时前
Go 字符串查找的 20 种实现方式,用不同思路解决问题
算法·面试·程序员
Dlrb121112 小时前
C语言-指针数组与数组指针
c语言·数据结构·算法·指针·数组指针·指针数组·二级指针
WL_Aurora12 小时前
Python 算法基础篇之集合
python·算法
平行侠12 小时前
A15 工业路由器IP前缀高速检索与内存压缩系统
网络·tcp/ip·算法
阿旭超级学得完13 小时前
C++11包装器(function和bind)
java·开发语言·c++·算法·哈希算法·散列表