力扣167.两数之和II-输入有序数组

复制代码
import java.util.HashMap;
//法1:哈希表
class Solution {
    public int[] twoSum(int[] numbers, int target) {
        HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
        for(int i = 0; i < numbers.length; i++) {
            if (map.containsKey(target - numbers[i])) {
                return new int[] {map.get(target - numbers[i]) + 1, i + 1};
            } else {
                map.put(numbers[i], i);
            }


        }
        return new int[] {-1, -1};
    }
}
复制代码
//法2:双指针
class Solution {
    public int[] twoSum(int[] numbers, int target) {
        int l = 0;
        int r = numbers.length-1;
        // l不能取等于r,因为不能取重复的元素
        while(l<r){
            int sum = numbers[l]+numbers[r];
            if(sum == target){
                return new int[]{l+1,r+1};
            }else if(sum>target){
                r--;
            }else{
                l++;
            }
        }
        return new int[]{-1,-1};

    }
}
相关推荐
TT哇几秒前
@AllArgsConstructor
java·开发语言
lkbhua莱克瓦24几秒前
TCP通信练习1——多发多收
java·开发语言·网络·网络协议·tcp/ip·tcp练习
这就是佬们吗2 分钟前
一文讲清---ELK搭建
java·笔记·elk·docker·容器
Filotimo_3 分钟前
在java后端开发中,docker虚拟化容器用处
java·开发语言·docker
hetao17338373 分钟前
2025-12-22 hetao1733837的笔记
c++·笔记·算法
大学生资源网4 分钟前
基于springboot的智能家居系统的设计与实现(源码+文档)
java·spring boot·后端·毕业设计·源码
葵花楹4 分钟前
Maven 核心能力拆解 + 实战: Java 邮件群发
java·maven
洛阳纸贵7 分钟前
JAVA高级工程师--Maven父子关系专题
java·前端·maven
编程小白gogogo12 分钟前
苍穹外卖---swagger
java
Binky67817 分钟前
力扣--贪心篇(1)
数据结构·算法·leetcode