博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1. Two Sum
阅读量:7126 次
发布时间:2019-06-28

本文共 1770 字,大约阅读时间需要 5 分钟。

1. Two Sum

题目

Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the same element twice.Example:Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,return [0, 1].

解析

class Solution_1 {public:    // O(n^2)    vector
twoSum(vector
&numbers, int target) { vector
vec; if (numbers.size()==0) { return vec; } for (int i = 0; i < numbers.size()-1;i++) { for (int j = i + 1; j < numbers.size();j++) { if (numbers[i]+numbers[j]==target) { vec.push_back(i); vec.push_back(j); break; } } } return vec; } // 使用一个哈希表(unorder_map)来解,第一遍扫描,保存到哈希表中,第二遍扫,看target-n在不在哈希表中,时间复杂度为O(n)。 // 元素有重复的时候multi?? vector
twoSum(vector
a, int target) { int i, j, k, l, m, n; map
mymap; map
::iterator it; vector
ans; for (i = 0; i < a.size(); i++){ it = mymap.find(target - a[i]); if (it != mymap.end()){ ans.push_back(it->second); ans.push_back(i); return ans; } else{ mymap.insert(make_pair(a[i], i)); } } } vector
twoSum1(vector
& nums, int target) { vector
vec; if (nums.size()==0) { return vec; } sort(nums.begin(), nums.end()); int start = 0, end = nums.size()-1; while (start

题目来源

转载地址:http://uhhel.baihongyu.com/

你可能感兴趣的文章
Hibernate执行流程
查看>>
@Value注入static属性
查看>>
java使用jdbi连接几种数据库的方法
查看>>
Mac OS下 selenium 驱动safari日志
查看>>
向一个数组中添加100个不重复的随机数的几个方法
查看>>
用java解压缩zip和rar的工具类
查看>>
restful开发API
查看>>
停止表单submit提交
查看>>
docker常用镜像安装及运行
查看>>
结对-结对编项目作业名称-开发环境搭建过程
查看>>
Servlet组件合并
查看>>
给大家总结一个兼容各浏览器的获取窗口大小的方法(转)
查看>>
Mac 控制 Mac
查看>>
SpringBoot整合Ribbon注入RestTemplate实例找不到原因
查看>>
Mingw32 for ffmpeg
查看>>
DE0-Nano-SoC开发板诡异的电源电路方案设计分析
查看>>
初识CSS中的sprite技巧
查看>>
迭代器 生成器
查看>>
android单元测试 activity跳转 以及 input 输入后 测试
查看>>
如何做好回归测试
查看>>