[力扣 Hot100]Day1 两数之和

考完研了秽土转生,开始刷一下LeetCode准备一下复试,我尽量每个工作日一更

题目描述

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

思路

题目可以直接暴力做,如果想优于O(n^2)可以先排序然后用两个指针从首尾分别开始扫描。看评论区说可以用字典,做的时候没想出来。

代码

class Solution {
   
public:
    vector<int> twoSum(vector<int>& nums, int target) {
   
        vector<int>nums1 = nums;
        std::sort(nums.begin(), nums.end());
        int h = 0;
        int t = nums.size() - 1;
        while (h != t) {
   
            if (nums[h] + nums[t] == target) {
   
                bool flag = false;
                if(nums[h] == nums[t])
                    flag = true;
                auto it1 = std::find(nums1.begin(), nums1.end(), nums[h]);
                h = std::distance(nums1.begin(), it1);
                vector<int>::iterator it2;
                if(flag)
                    it2 = std::find(++it1, nums1.end(), nums[t]);
                else
                    it2 = std::find(nums1.begin(), nums1.end(), nums[t]);
                if (it2 != nums1.end()) {
   
                    t = std::distance(nums1.begin(), it2);
                    return vector<int>{
   h, t};
                } else {
   
                    return vector<int>{
   };
                }
            } else if (nums[h] + nums[t] > target) {
   
                t--;
            } else {
   
                h++;
            }
        }
        return vector<int>{
   };
    }
};

相关推荐

  1. [ Hot100]Day1 之和

    2024-01-10 06:10:05       42 阅读
  2. hot 1001. 之和(未完成待更新)

    2024-01-10 06:10:05       17 阅读
  3. 1001.之和__231206

    2024-01-10 06:10:05       45 阅读
  4. 面试150题 |1. 之和

    2024-01-10 06:10:05       40 阅读
  5. top100-之和

    2024-01-10 06:10:05       17 阅读
  6. 1.之和

    2024-01-10 06:10:05       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-10 06:10:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-10 06:10:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-10 06:10:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-10 06:10:05       20 阅读

热门阅读

  1. 【docker】docker-compose.yml 语法详解

    2024-01-10 06:10:05       34 阅读
  2. nginx upstream负载均衡模块

    2024-01-10 06:10:05       28 阅读
  3. xcode 14.3升级 pod升级

    2024-01-10 06:10:05       29 阅读
  4. Hive之set参数大全-2

    2024-01-10 06:10:05       27 阅读
  5. qt-day2

    qt-day2

    2024-01-10 06:10:05      31 阅读
  6. xcode-docC

    2024-01-10 06:10:05       36 阅读
  7. Hive之函数解析

    2024-01-10 06:10:05       28 阅读
  8. 与AI合作 -- 单例工厂2遗留的问题:bard的错误

    2024-01-10 06:10:05       33 阅读
  9. 【力扣100】【好题】155.最小栈

    2024-01-10 06:10:05       40 阅读
  10. ES6规范

    2024-01-10 06:10:05       28 阅读
  11. 【数值分析】逼近,正交多项式

    2024-01-10 06:10:05       35 阅读