leetcode hot 100 之【LeetCode 1. 两数之和】 java实现

ops/2024/10/17 18:15:45/

LeetCode 1. 两数之和

题目描述

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

示例:

给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

限制:

  • 你不能使用超时的解法,否则会导致超时。
  • 你只能使用 O(n) 的时间复杂度的解法。

Java 实现解法

方法一:暴力法
java">class Solution {public 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) {result[0] = i;result[1] = j;return result;}}}return result;}
}
方法二:哈希表法
java">class Solution {public int[] twoSum(int[] nums, int target) {Map<Integer, Integer> map = new HashMap<>();int[] result = new int[2];for (int i = 0; i < nums.length; i++) {int data = target - nums[i];if (map.containsKey(data)) {result[0] = map.get(data);result[1] = i;return result;}map.put(nums[i], i);}return result;}
}

解题思路

  • 暴力法:使用两层循环遍历数组,对于每个元素,再遍历一遍找到和为目标值的另一个元素。这种方法的时间复杂度是 O(n^2)
  • 哈希表法:使用一个哈希表来存储已经遍历过的数字及其索引。在遍历数组的过程中,计算当前数字与目标值的差,并检查哈希表中是否已经存在这个差值。如果存在,那么当前数字和哈希表中对应的数字就是答案。这种方法的时间复杂度是 O(n),且空间复杂度也是 O(n)

http://www.ppmy.cn/ops/125003.html

相关文章

基于Jenkins+K8S构建DevOps自动化运维管理平台

目录 1.k8s助力DevOps在企业落地实践 1.1 传统方式部署项目为什么发布慢&#xff0c;效率低&#xff1f; 1.2 上线一个功能&#xff0c;有多少时间被浪费了&#xff1f; 1.3 如何解决发布慢&#xff0c;效率低的问题呢&#xff1f; 1.5 什么是DevOps&#xff1f; 1.5.1 敏…

‌CUDA和‌cuDNN的基本概念‌;TensorFlow、PyTorch和MXNet

目录 ‌CUDA和‌cuDNN的基本概念‌ CUDA和cuDNN的关系 CUDA和cuDNN的应用场景和优势 TensorFlow、PyTorch和MXNet TensorFlow PyTorch MXNet ‌CUDA和‌cuDNN的基本概念‌ ‌CUDA‌是‌NVIDIA推出的一款通用并行计算平台和编程模型,用于‌GPU加速的计算。它允许开发人员…

企业级私有化即时通讯软件:高效沟通与安全保障的优选

在当今这个信息化高速发展的时代&#xff0c;企业面临着前所未有的沟通挑战与信息安全压力。为了应对这些挑战&#xff0c;企业级私有化即时通讯软件应运而生&#xff0c;它不仅优化了内部沟通流程&#xff0c;还确保了数据的安全性与管理的深度需求得到满足。以下将从“助力大…

【云从】三、计算机网络基础

文章目录 1、网络2、网络通信2.1 IP地址2.2 子网掩码2.3 网关2.4 私有地址和公有地址2.5 NAT网络地址转换 3、网络架构及设备 1、网络 网络&#xff0c;即通过通信线路&#xff08;如光纤、网线&#xff09;和通信设备&#xff08;如路由器、光猫&#xff09;&#xff0c;将各…

基于开元鸿蒙(OpenHarmony)的【智能药房与药品管理综合应用系统】

基于开元鸿蒙OpenHarmony的【智能药房与药品管理综合应用系统】 一、系统背景与OpenHarmony简介二、智能药房与药品管理综合应用系统1. 系统概述2. 智能药房管理系统3. 药品追溯系统4. 电子处方系统 三、系统优势与应用前景四、智能药房与药品管理综合应用系统的未来1、技术融合…

基于深度学习的手术中的增强现实导航

基于深度学习的手术中的增强现实&#xff08;AR&#xff09;导航技术是一种结合了先进的计算机视觉算法、深度学习模型与增强现实技术的创新应用。其主要目的是为外科手术提供实时的、精确的手术指导&#xff0c;帮助医生在复杂的手术过程中更好地理解患者的解剖结构&#xff0…

MySQL库的操作

&#xff1e;>上文介绍了MySQL的一些基本知识&#xff0c;今天我们来学习MySQL数据库的基本操作 1. 查看数据库 1.1 语法 show databases;databases是复数形式⼤⼩写不敏感 2. 创建数据库 2.1 语法 CREATE { DATABASE | SCHEMA } [ IF NOT EXISTS ] db_name [ create_…

【网络代理模块】反向代理(下)

1 反向代理部署遇到的问题 1.1 通道异常断开导致数据丢失 将外网程序布置在云服务器上&#xff08;外网&#xff09;测试&#xff0c;ssh协议进行测试会莫名其快通道断开&#xff0c;发现丢了一个报文。丢报文的原因是&#xff1a;我们内网模块从命令通道接收到外网模块发来的…