admin管理员组

文章数量:1794759

剑指 Offer 57. 和为s的两个数字 06

剑指 Offer 57. 和为s的两个数字

我写的代码:

代码语言:javascript代码运行次数:0运行复制
class Solution {
    public int[] twoSum(int[] price, int target) {
        int []array= new int [2];
        int left=0;
        int right=price.length-1;
        while(left<right) {
            if((price[left]+price[right])>target) {
                right--;
            }
            if((price[left]+price[right])<target) {
                left++;
            }
            if((price[left]+price[right])==target) {
                array[0]=price[left];
                array[1]=price[right];
                break;
            }
        }
        return array;
    }
}

官方写的:

代码语言:javascript代码运行次数:0运行复制
class Solution
{
    public int[] twoSum(int[] nums, int target)
    {
        int left = 0, right = nums.length - 1;
        while(left < right)
        {
            int sum = nums[left] + nums[right];
            if(sum > target) right--;
            else if(sum < target) left++;
            else return new int[] {nums[left], nums[right]};
        }
        // 照顾编译器
        return new int[]{0};
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-10-17,如有侵权请联系 cloudcommunity@tencent 删除intreturnsumtarget编译器

本文标签: 剑指 Offer 57 和为s的两个数字 06