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

两数之和 三数之和 哈希方法

两数之和

package com;
import java.util.*;
public class Test5 {
//两数之和
public static void main(String[] args) {
int[] arr= {1,2,3,4,5,6,7,94,42,35};
int target=99;
Arrays.sort(arr);//快速排序
for(int i=0;i<arr.length;i++) {
int w=target-arr[i];
int index=Arrays.binarySearch(arr, w);//二分查找
if(index>=0) {
System.out.println(arr[i]+","+arr[index]);
break;
}
}
}
}

三数之和

package com;
import java.util.*;
public class Test5 {//两数之和哈希方法public static void main(String[] args) {int[] arr= {1,2,3,5,7,9,11,13,16,14,15,18,94,42,35};int target=40;HashMap<Integer,Integer> map=new HashMap<>();HashMap<Integer,Integer> map2=new HashMap<>();//去重for(int i=0;i<arr.length;i++) {map.put(arr[i],i);}for(int i=0;i<arr.length;i++) {int w=target-arr[i];int[] xx=get(arr,w,i);//两数之和//这个去重我没懂,但我觉得这个方法不够好,不好理解if(xx[0]!=-1){if(i!=xx[0]&&i!=xx[1]) {if(map2.get(i)==null||map2.get(xx[0])==null){map2.put(i,i);map2.put(xx[0],xx[0]);map2.put(xx[1],xx[1]);System.out.println(i+","+xx[0]+","+xx[1]);}}}}}public static int[] get(int[] arr,int target,int x) {HashMap<Integer,Integer> map=new HashMap<>();for(int i=0;i<arr.length;i++) {map.put(arr[i],i);//存取o(1)}//onfor(int i=0;i<arr.length;i++) {int w=target-arr[i];Integer index=map.get(w);if(index!=null&&index!=i&&i!=x&&x!=index) {return new int[]{i,index};}}return new int[]{-1,-1};}
}

哈希方法

class Solution {public int[] twoSum(int[] nums, int target) {HashMap<Integer,Integer> map=new HashMap<>();for(int i=0;i<nums.length;i++) {map.put(nums[i],i);//存取o(1)}//onfor(int i=0;i<nums.length;i++) {int w=target-nums[i];Integer index=map.get(w);if(index!=null&&index!=i) {return new int[]{i,index};}}return new int[]{0,0};
}
}
http://www.lryc.cn/news/253361.html

相关文章:

  • Object Detection in 20 Years: A Survey(2019.5)
  • Springboot 设置时区与日期格式
  • 从零开始学Go web——第一天
  • 6.Eclipse里下载Subclipse插件
  • 家用洗地机哪个品牌最好最实用?热门洗地机测评
  • 【C语言:自定义类型(结构体、位段、共用体、枚举)】
  • 【1day】华天软件 OAworkFlowService接口SQL注入漏洞学习
  • Oracle(2-11)RMAN Backups
  • 使用docker搭建『Gitea』私有仓库
  • CopyOnWriteArrayList怎么用
  • 旋转设备状态监测与预测性维护:提高设备可靠性的关键
  • 类和对象——(7)this指针
  • 回溯算法题型分类
  • ApplicationRunner 类
  • QT中的 容器(container)-大全
  • Docker配置镜像加速器
  • 飞致云1panel + 雷池WAF
  • 策略梯度简明教程
  • 鸿蒙原生应用/元服务开发-利用picker选择器来多选相册图片
  • java:封装统一的响应体code、data、msg、paging
  • leetcode算法之栈
  • 电脑上mp4视频文件无缩略图怎么办
  • 【Centos8】配置网络镜像源
  • 深入学习Synchronized各种使用方法
  • 【idea】设置鼠标滚轮控制缩放大小
  • 合并两个有序数组(leetcode_刷题1)
  • 麒麟linux将图片批量生成PDF的方法
  • Linux——vim编辑文件时——.swp文件解决方案
  • 【Maven】清理 maven 仓库
  • APOLLO自动驾驶技术沙龙:未来已来,共创智能交通新时代