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;
    }
}
相关推荐
专注仿真3 分钟前
问答大模型技术方案算法实现-RAPTOR树构建算法与BEG集成使用
python·算法
eralong15 分钟前
Java 面向对象:继承、多态、接口
java·后端
哦虎!18 分钟前
【数据库】事务
java·数据库·mysql
CDN36029 分钟前
流媒体加速实践:出海东南亚短视频点播频繁缓冲,HLS 分片与 Nginx 配置调优
java·网络·nginx·流媒体加速
zlinear数据采集卡35 分钟前
数据采集卡从入门到精通(10):采样率与分辨率的核心关系——反比律、架构分布与过采样
arm开发·嵌入式硬件·算法·fpga开发·架构·开源
程序员黑豆1 小时前
Java中的null与NullPointerException完全指南:安全处理、实战排查与面试题
java·前端·ai编程
晴天161 小时前
Electron面试题-Day19
java·javascript·electron
白狐_7982 小时前
408 数据结构|线索二叉树两题详解:先序线索化后的空链域 + 中序前驱/后继判断
c语言·数据结构·链表
GeekZHR2 小时前
C语言指针进阶补充6:动态内存管理、mem系列内存函数、复杂指针声明,一次补齐指针的“三大盲区“
java·c语言·算法·指针
侧耳倾听1112 小时前
java 日志框架简介
java·开发语言