全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1959|回复: 22

[疑问] 20201217-学好算法,大厂996不是梦-两数之和

[复制链接]
发表于 2020-12-17 14:28:49 | 显示全部楼层 |阅读模式
来来来,搞搞算法,玩机有个毛意思。

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

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

 

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
发表于 2020-12-17 14:52:54 来自手机 | 显示全部楼层
写个2 sum还跟我大厂,3 sum会了吗?k sum会了吗?就算了都会了,想要进大厂,leetcode先来200题再说
发表于 2020-12-17 20:23:12 | 显示全部楼层
  1. class Solution {
  2. private:
  3.     map<int, int > m;
  4.     vector<int> a;
  5. public:
  6.     vector<int> twoSum(vector<int> &nums, int target) {
  7.         for (int i = 0; i < nums.size(); ++i) {
  8.             m[nums[i]] = i;
  9.         }
  10.         for (int i = 0; i < nums.size(); ++i) {
  11.             if (m[target - nums[i]] && (i != m[target - nums[i]])) {
  12.                 a.push_back(i);
  13.                 a.push_back(m[target - nums[i]]);
  14.                 break;
  15.             }
  16.         }
  17.         return a;
  18.     }
  19. };
复制代码
发表于 2020-12-17 14:54:21 | 显示全部楼层
本帖最后由 zdszf 于 2020-12-17 15:04 编辑
  1. nums=(2 7 11 15) && target=9 && for ((i=0;i<${#nums[*]};i++)); do for ((j=$((${#nums[*]}-1));j>=0;j--)); do [[ $((${nums[i]}+${nums[j]})) == $target ]] && [[ ${nums[i]} != ${nums[j]} ]] && echo $i $j && break 2; done; done
复制代码
发表于 2020-12-17 14:32:00 | 显示全部楼层
有序吗,有序的话直接双指针扫描,O(n)。无序的话就先排序在扫描
发表于 2020-12-17 14:34:50 | 显示全部楼层
我这高数渣渣让了,让了
 楼主| 发表于 2020-12-17 14:36:21 | 显示全部楼层
夏生啊 发表于 2020-12-17 14:32
有序吗,有序的话直接双指针扫描,O(n)。无序的话就先排序在扫描

无序,时间复杂度要求O(n), 可以借用空间。
发表于 2020-12-17 14:43:32 来自手机 | 显示全部楼层
哈希表,On时间
发表于 2020-12-17 14:45:41 | 显示全部楼层
hashMap
发表于 2020-12-17 14:47:24 | 显示全部楼层
我这高数渣渣让了
发表于 2020-12-17 14:48:45 | 显示全部楼层
总数减再求哈希
发表于 2020-12-17 14:51:27 | 显示全部楼层
996太累,不如affman
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-28 14:16 , Processed in 0.067485 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表