Java 编程

    xiaoxiao2026-06-15  8

    出处:https://github.com/GeniusVJR/LearningNotes/blob/master/Part3/Algorithm/LeetCode/two-sum.md import java.util.HashMap; /** * 输入一个整数数组,提供一个值,求出数组中两个数之和为该值的下标 * 思路: * 通过HashMap保存每次数组元素与值的差和元素下标; * 然后往后遍历的时候,判断元素的值是否存在于HashMap中,是则表示这两个数之和等于该值 * @author Administrator * */ public class TwoSum { public static int[] twoSum(int[] data,int target){ int[] result = null; HashMap<Integer, Integer> map = new HashMap<>(); for(int i=0;i<data.length; i++){ if (map.get(data[i]) != null) { result = new int[]{map.get(data[i]),i}; }else { map.put(target-data[i], i); } } return result; } public static void main(String[] args) { int[] data = {6,3,14,8}; int target = 20; int[] result = twoSum(data, target); for (int i = 0; i < result.length; i++) { System.out.println(result[i]); } } }
    转载请注明原文地址: https://ju.6miu.com/read-1310532.html
    最新回复(0)