力扣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};

    }
}
相关推荐
一 乐4 分钟前
宠物猫店管理|宠物店管理|基于Java+vue的宠物猫店管理管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·后端·宠物管理
r***99826 分钟前
在2023idea中如何创建SpringBoot
java·spring boot·后端
熊猫比分管理员19 分钟前
【全栈源码解决方案】Vue+Java四端齐全,一周交付可运行项目!
java·前端·vue.js
chen_note25 分钟前
K8s的配置存储与实战
java·容器·kubernetes·volume·k8s存储
i***395827 分钟前
ShardingSphere-jdbc 5.5.0 + spring boot 基础配置 - 实战篇
java·spring boot·后端
E***q53932 分钟前
后端服务限流实现,Spring Cloud Alibaba Sentinel
java·开发语言·sentinel
Jeremy爱编码44 分钟前
手写LRU 缓存
java·spring·缓存
期待のcode1 小时前
springboot的热部署和静态资源映射规则
java·spring boot·后端
橘子海全栈攻城狮1 小时前
【源码+文档+调试讲解】实验室耗材管理系统springboot 094
java·开发语言·spring boot·后端·spring
东东__net1 小时前
java项目管理工具Maven
java·maven