1. 两数之和(Java)

题目描述:

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

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

输入:

nums = 2,7,11,15, target = 9

输出:

0,1

解释:因为 nums0 + nums1 == 9 ,返回 0, 1 。

代码实现:

java 复制代码
public class Main{
    public static void main(String[] args) {
        //测试函数
        int[] nums = new int[]{2, 7, 11, 15};
        System.out.println(Arrays.toString(twoSum(nums, 9)));//[0, 1]
    }

    public static int[] twoSum(int[] nums, int target) {
        //最终结果数组
        int[] res = new int[2];
        //标记变量:未得到结果为0,得到结果为1
        int flag = 0;
        //暴力枚举:每一个数和后面的所有数组合相加
        for (int i = 0; i < nums.length - 1; i++) {
            //假定结果的第一个加数
            res[0] = i;
            for (int j = i + 1; j < nums.length; j++) {
                if (nums[i] + nums[j] == target) {
                    //计算得到第二个加数
                    res[1] = j;
                    flag = 1;
                    break;
                }
            }
            //得到目标结果之后,直接跳出
            if (flag == 1) {
                break;
            }
        }
        //返回结果数组
        return res;
    }
}
相关推荐
无所谓^_^2 分钟前
个人健康管理系统 | Springboot3 | Vue3
java·vue·毕业设计·springboot·课程设计·毕设·前后端分离
杨凯凡9 分钟前
Spring Boot 的 @Transactional 为什么会失效?从代理、自调用到异常回滚的排查实战
java·spring boot·spring·事务·后端开发
tyler_download14 分钟前
deepseek后训练算法:位置编码算法RoPE详解1
算法
曼岛_25 分钟前
[图解密码学]第5章 对称加密基础
java·数据库·密码学
青少儿编程课堂36 分钟前
蓝桥杯·全国青少年信息素养大赛·电子学会C/C++考级:分层图最短路解析
c++·python·算法·bfs·信息学竞赛
YSL0701241 小时前
一文通关-----排序
数据结构·算法
天河归来11 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL11 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
ZhengEnCi11 小时前
GPT-6 Astra 爆改 Qwen 权重真有那么神吗:权重空间编程 0.016% 参数的真相
算法·架构
罗西的思考12 小时前
【轻量化复刻大模型 / KIMI K3】KDA(Kimi Delta Attention):并行
人工智能·算法·机器学习