当前位置:   article > 正文

leetcode 1. Two Sum (c++)_class solution { public: vector twosum(vector

class solution { public: vector twosum(vector& nums, int target) {

思路

先排序,在查找

  1. class Solution {
  2. public:
  3. vector<int> twoSum(vector<int>& nums, int target) {
  4. vector<pair<int,int>> total;
  5. for(int i=0;i<nums.size();i++){
  6. total.push_back({nums[i],i});
  7. }
  8. sort(total.begin(),total.end());
  9. vector<int> res(2);
  10. int start=0,end=nums.size()-1;
  11. while(start<end){
  12. if(total[start].first+total[end].first==target){
  13. res[0]=total[start].second;res[1]=total[end].second;
  14. return res;
  15. }
  16. else if(total[start].first+total[end].first>target)
  17. end--;
  18. else
  19. start++;
  20. }
  21. return res;
  22. }
  23. };

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/460965
推荐阅读
相关标签
  

闽ICP备14008679号