Leetcode 01——两数之和(Java)

简介: 一篇博客带你进入leetcode刷题之旅!本篇采用java解题

前言

有人相爱,有人夜晚开车看海,有人连leetcode第一题都做不出来。

有人哈希秀一下操作,有人两for走遍天

下。


用一篇博客带你进入leetcode的旅程!


题目及解析

图片.png


题目要求我们写一个数组nums,nums数组里面如果有两个元素相加 等于题目所给的target值,我们就返回,这两个元素的下标。


解题方法:我们可以直接采用暴力枚举,直接两for拿下此题!


好,先把数组的长度给个变量 int n = nums.length;


再定义两个整型int i,j;


i从0出发开始,并且作为外循环,一直循环到数组长度即 i < n


j 作为内层循环,它应该从i + 1开始,因为我们是需要找两个数相加等于target,同一个数不能重复使用!一直循环到 j < n


for (int i = 0; i < n; ++i)


   for (int j = i + 1; j < n; ++j)


这就是我们的两层for循环


当 i =0 时,j = 1 开始执行内层循环体,接下来就是 i = 0 , j = 2 ; i =0 , j =3 ...


目的就是找到当i = 0 时 nums[0] 加 nums 几 等于我们题目给的数 target  一直找到 数组长度为止


代码

classSolution {
publicint[] twoSum(int[] nums, inttarget) {
intn=nums.length;
for (inti=0; i<n; ++i) {
for (intj=i+1; j<n; ++j) {
if (nums[i] +nums[j] ==target) {
returnnewint[]{i, j};             //返回元素下标 i , j                }
            }
        }
returnnewint[0];
    }
}
目录
相关文章
|
2月前
|
C++
Leetcode第一题(两数之和)
这篇文章介绍了解决LeetCode第一题“两数之和”的两种方法:暴力法和哈希表法,并提供了相应的C++代码实现。
43 0
Leetcode第一题(两数之和)
|
2月前
|
存储 C++ 容器
【LeetCode 13】1.两数之和
【LeetCode 13】1.两数之和
16 0
|
2月前
|
算法 Java
LeetCode(一)Java
LeetCode(一)Java
|
4月前
|
算法 Java
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
57 6
|
4月前
|
存储 索引
LeetCode------两数之和(3)【数组】
这篇文章介绍了LeetCode上的"两数之和"问题,提供了两种解法:一种是暴力求解法,通过双层循环遍历数组元素对查找两数之和为目标值的索引,时间复杂度为O(n^2);另一种是使用HashMap优化,通过存储元素值和索引,时间复杂度降低到O(n)。
LeetCode------两数之和(3)【数组】
|
4月前
|
存储 算法 Java
LeetCode经典算法题:打家劫舍java详解
LeetCode经典算法题:打家劫舍java详解
76 2
|
4月前
|
人工智能 算法 Java
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
54 1
|
4月前
|
存储 算法 Java
LeetCode经典算法题:预测赢家+香槟塔java解法
LeetCode经典算法题:预测赢家+香槟塔java解法
66 1
|
4月前
|
算法
LeetCode第1题两数之和
该文章介绍了 LeetCode 第 1 题两数之和的解法,通过使用 HashMap 来记录数组元素及其下标,以 O(n)的时间复杂度解决问题。
|
4月前
|
JavaScript 前端开发 PHP
leetcode——两数之和【一】
leetcode——两数之和【一】
30 0