Java每日一题

算法每日一题(Day 1:基础入门)

题目:两数之和

难度 :简单题目描述 :给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,且数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。

示例:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums [0] + nums [1] = 2 + 7 = 9,所以返回 [0,1]。

解题思路

这道题有两种常见解法,新手可以先掌握暴力解法,再进阶到高效解法:

  1. 暴力解法(入门) :双层 for 循环遍历数组,逐一检查两个数的和是否等于 target。
    • 优点:思路简单,容易理解;
    • 缺点:时间复杂度高(O (n²)),数据量大时效率低。
  2. 哈希表解法(进阶) :遍历数组时,用 HashMap 存储「数值 - 下标」的映射,每遍历一个数,先检查 HashMap 中是否存在 target - 当前数,存在则直接返回结果,不存在则将当前数存入 Map。
    • 优点:时间复杂度 O (n),空间复杂度 O (n),效率大幅提升;
    • 缺点:需要额外的空间存储哈希表。
相关推荐
zyq99101_11 小时前
优化二分查找:前缀和降复杂度
数据结构·python·蓝桥杯
qyzm1 小时前
天梯赛练习(3月13日)
开发语言·数据结构·python·算法·贪心算法
逆境不可逃2 小时前
LeetCode 热题 100 之 64. 最小路径和 5. 最长回文子串 1143. 最长公共子序列 72. 编辑距离
算法·leetcode·动态规划
CoderCodingNo2 小时前
【GESP】C++五级练习题 luogu-P1182 数列分段 Section II
开发语言·c++·算法
放下华子我只抽RuiKe52 小时前
机器学习全景指南-直觉篇——基于距离的 K-近邻 (KNN) 算法
人工智能·gpt·算法·机器学习·语言模型·chatgpt·ai编程
kisshuan123962 小时前
[特殊字符]【深度学习】DA3METRIC-LARGE单目深度估计算法详解
人工智能·深度学习·算法
sali-tec2 小时前
C# 基于OpenCv的视觉工作流-章33-Blod分析
图像处理·人工智能·opencv·算法·计算机视觉
Eward-an3 小时前
LeetCode 239. 滑动窗口最大值(详细技术解析)
python·算法·leetcode
一叶落4383 小时前
LeetCode 50. Pow(x, n)(快速幂详解 | C语言实现)
c语言·算法·leetcode
皙然3 小时前
彻底吃透红黑树
数据结构·算法