题解 | #和为S的两个数字#

和为S的两个数字

https://www.nowcoder.com/practice/390da4f7a00f44bea7c2f3d19491311b

class Solution {
public:
    vector<int> FindNumbersWithSum(vector<int> array,int sum)
    {
        int left=0,right=array.size()-1;
        while(left<right)
        {
            int tmp=array[left]+array[right];
            if(tmp>sum)//我们算的值大于给的sum值,我们就将right往左边挪一位
            {
                right--;
            }
            else if(tmp<sum)//我们算的值小于sum的话,我们直接将left进行++操作
            {
                left++;
            }
            //tmp=sum的情况,我们直接将这个符合的两个数字进行返回的操作就行了
            else return {array[left],array[right]};//将这连个变量括起来我们就能进行返回操作了
        }
        //照顾编译器我们会强行返回一个结果的
            return { };
    }
};

全部评论

相关推荐

不愿透露姓名的神秘牛友
10-04 05:12
kalistar:简历留六个字,北京大学(本科),黑体加粗,看看哪个hr不长眼敢碰瓷我们北大✌
点赞 评论 收藏
分享
10-15 10:23
门头沟学院 Java
牛可乐的头像真牛:赶紧举报,这公司绝对是诈骗的,等你签约后工作一两个月后根据合同漏洞把你开除,并且要求你赔偿3w培训费,996是为了提前筛选心甘情愿签下合同容易受骗的群体,纯粹面向校招生精心设计的骗局
你见过哪些工贼行为
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务