zoukankan      html  css  js  c++  java
  • Leetcode 1 two sum 难度:0

    https://leetcode.com/problems/two-sum/

    class Solution {
    public:
        vector<int> twoSum(vector<int>& nums, int target) {
            vector<int> index(2,0);
            vector<int> n2;
            int numsSize = nums.size();
            int f = -1;
            for(int i = 0;i < numsSize;i++){
                n2.push_back(nums[i]);
                if(nums[i] == target/2 && target%2 ==0){
                    if(f != -1){
                        index[0] = min(f,i + 1);
                        index[1] = max(f,i + 1);
                        return index;
                    }
                    else f = i + 1;
                }
            }
            sort(nums.begin(),nums.end());
            for(int i = 0;i < numsSize;i++){
                int j = lower_bound(nums.begin(),nums.end(),target - nums[i]) - nums.begin();
                int a,b;
                if(nums[i] + nums[j] == target && j < numsSize){
                    for(int k = 0;k < numsSize;k++){
                        if(nums[i] == n2[k]) a = k + 1;
                        if(nums[j] == n2[k]) b = k + 1;
                    }
                    index[0] = min(a,b);
                    index[1] = max(a,b);
                }
            }
            return index;
        }
    };
    

      

     

  • 相关阅读:
    【CF989E】A Trance of Nightfall
    [SHOI2012]信用卡凸包
    [HNOI2016]最小公倍数
    [HNOI2012]射箭
    [SCOI2015]小凸想跑步
    [CQOI2006]凸多边形
    ### Hadoop
    ### awk
    ### Theano
    ### Python Learning
  • 原文地址:https://www.cnblogs.com/xuesu/p/4758252.html
Copyright © 2011-2022 走看看