• 167. Two Sum II


    Given an array of integers that is already sorted in ascending order, find two numbers such that they add up to a specific target number.
    
    The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2.
    
    Note:
    
    Your returned answers (both index1 and index2) are not zero-based.
    You may assume that each input would have exactly one solution and you may not use the same element twice.
    Example:
    
    Input: numbers = [2,7,11,15], target = 9
    Output: [1,2]
    Explanation: The sum of 2 and 7 is 9. Therefore index1 = 1, index2 = 2.
    Accepted
    210,324
    Submissions
    427,592

    https://www.cnblogs.com/Roni-i/p/7774100.html

    https://www.cnblogs.com/Roni-i/p/9253303.html

    几百年前就会双指针了,但是Java有些语法还不熟练。。

    (ps:双指针利用序列的递增性

    class Solution {
        public int[] twoSum(int[] numbers, int target) {
            int i = 0, j = numbers.length - 1;
            while(i < j) {
                int sum = numbers[i] + numbers[j];
                if(sum == target) {
                    return new int[] {i+1, j+1}; //
                }
                else if(sum > target) {
                    j--;
                }
                else {
                    i++;
                }
            }
            return null;
        }
    }

     

  • 相关阅读:
    cocos2d-x CSV文件读取 (Excel生成csv文件)
    cocos2d-x 中 xml 文件读取
    String 类的实现
    json 文件解析与应用
    设计模式 之 《简单工厂模式》
    C++ 0X 新特性实例(比较常用的) (转)
    CCSpriteBatchNode CCSpriteFrameCache
    LongAdder
    ConcurrentHashMap源码
    HashMap源码
  • 原文地址:https://www.cnblogs.com/Roni-i/p/10426547.html
Copyright © 2020-2023  润新知