题解 | #两数之和#

两数之和

https://www.nowcoder.com/practice/20ef0972485e41019e39543e8e895b7f

import java.util.*;
import java.util.stream.Collectors;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param numbers int整型一维数组 
     * @param target int整型 
     * @return int整型一维数组
     */
    public int[] twoSum (int[] numbers, int target) {
        // write code here
        List<Integer> lst = Arrays.stream(numbers).boxed().collect(Collectors.toList());
        Set<Integer> set = new HashSet<>(lst); // set查询提升效率
        for (int i = 0; i < numbers.length; i++) {
            int num1 = numbers[i];
            int num2 = target - num1;
            if (set.contains(num2) && lst.lastIndexOf(num2) != i) {
                return new int[]{i + 1, lst.lastIndexOf(num2) + 1};
            }
        }
        return new int[2];
    }
}

全部评论

相关推荐

2025-12-17 13:34
复旦大学 算法工程师
回家当保安:复旦✌🏻,佬你的简历感觉挺好的,寒假日常hc比较少。佬可以过完年之后再试试,日常实习hc比较充足
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务