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

LeetCode01

LeetCode01

  1. 两数之和
    给定一个整数数组 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]
package KeepCoding.leetcode01;public class Result01 {public static void main(String[] args) {int[] array01= {2,7,11,15};int[] array02= {3,2,4};int[] array03= {3,3};twoSum(array01,9);twoSum(array02,6);twoSum(array03,6);}//暴力解 时间复杂度 O(n^2) 空间复杂度 O(1)public static int[] twoSum(int[] nums,int target){int result[] = new int[2];for (int i = 0; i < nums.length; i++) {for (int j = i+1; j < nums.length; j++) {if (nums[i]+nums[j]==target){System.out.println("["+i+","+j+"]");result[0] = i;result[1] = j;return result;}}}return result;}}

package KeepCoding.leetcode01;import java.util.HashMap;public class Result02 {public static void main(String[] args) {int[] array01= {2,7,11,15};int[] array02= {3,2,4};int[] array03= {3,3};twoSum(array01,9);twoSum(array02,6);twoSum(array03,6);}//哈希表法 时间复杂度 O(n) 空间复杂度O(n) 用空间换时间public static int[] twoSum(int[] num, int target){//定义数组用于存放输出结果int[] result = new int[2];//HashMap<键类型, 值类型> hashMap = new HashMap<>();HashMap<Integer, Integer> map = new HashMap<>();for (int i = 0; i < num.length; i++) {map.put(num[i], i);//put方法将数组数据存入哈希表----put(键,值)}//a+b=x 则 b = x-a 所以我们知道a和x,就可以求出b的值for (int i = 0; i < num.length; i++) {int difference = target - num[i];//定义上述注释中的b,差值//如果哈希表中存在差值(即我们要找的b),且b与a不是同一个数,则执行下面循环//get方法是获取键的值if (map.containsKey(difference) && map.get(difference)!=i){result[0] = i;result[1] = map.get(difference);System.out.println("["+result[0]+","+result[1]+"]");return result;}}return result;}
}

在这里插入图片描述

http://www.lryc.cn/news/173180.html

相关文章:

  • 计算机网络高频面试题集锦
  • Linux启动过程详解 Xmind导图笔记
  • Qt5开发及实例V2.0-第十七章-Qt版MyWord字处理软件
  • 机器视觉工程师们,常回家看看
  • 网络隔离下实现的文件传输,现有的方式真的安全吗?
  • [医学图像知识]CT图和PET图的成像表现形式
  • 聊聊wireshark的进阶使用功能 | 京东云技术团队
  • 小米手机安装面具教程(Xiaomi手机获取root权限)
  • DSU ON TREE
  • Java“对象”
  • vuepress+gitee免费搭建个人在线博客(无保留版)
  • Android 12.0 系统限制上网系列之iptables用IOemNetd实现app上网白名单的功能实现
  • Idea和DataGrip自定义常用代码模板,熟练使用快捷模板可促进开发效率
  • Vue.js :实现嵌套对话框的查看按钮
  • 9.2.4 【MySQL】段的结构
  • 怎么快速提取图片中的文字信息?怎么使用OCR图片文字提取一键提取文字
  • Selenium隐藏浏览器特征
  • Linux下的buff/cache
  • 3.wifi开发,网络编程
  • Android框架mqtt库无法兼容高版本android13的问题
  • 一招解除csdn复制限制
  • 安全基础 --- nodejs沙箱逃逸
  • Redis集群架构搭建——主从、哨兵、集群
  • 39 | selenium基础架构,UI测试架构
  • 2023研究生数学建模E题保姆级思路 出血性脑卒中临床智能诊疗
  • 画电路板通用知识
  • 三相组合式过电压保护器试验
  • C++提高编程:01 模板
  • Latex Overleaf 写作问题记录
  • OpengL之纹理