博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode #151 Two Sum
阅读量:5082 次
发布时间:2019-06-13

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

# LeetCode #151 Two Sum

Given an array of integers, find two numbers such that they add up to a specific target number.

The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2. Please note that your returned answers (both index1 and index2) are not zero-based.

You may assume that each input would have exactly one solution.

Input: numbers={2, 7, 11, 15}, target=9

Output: index1=1, index2=2

代码:

#include 
#include
#include
using namespace std;class Solution {public: vector
twoSum(vector
&numbers, int target) { vector
temp = numbers; sort(temp.begin(), temp.end()); //cout<<*numbers.begin()<
<
target){ j--; }else{ i++; } for(int k = 0; k < temp.size(); k++){ if(numbers[k] == temp[i]) {index1 = k+1;break;} } for(int k = temp.size()-1; k >= 0; k--){ //cout<
<
index2){ int temp = index1; index1 = index2; index2 = temp; } vector
result; result.push_back(index1); result.push_back(index2); return result; }};int main(){ //cout << "Hello world!" << endl; int nums[4] = {4,3,2,1}; vector
numbers(&nums[0], &nums[4]); Solution solution; vector
re = solution.twoSum(numbers, 5); cout<
<<" "<

总结:

  • 一开始什么也没考虑写了个二重循环,结果时间超限
  • 看了解析之后重写,结果忘记考虑 index1 < index2 WA了
  • 之后又加了个判断才AC
  • 时间复杂度O(nlogn) 还有个O(n)的解,要用map,以后写

转载于:https://www.cnblogs.com/Haeckel/p/3893392.html

你可能感兴趣的文章
JS给对象添加新字段
查看>>
maven项目对于测试时“无法加载主类”的解决方案
查看>>
Python文件读写
查看>>
论文笔记——Factorized Convolutional Neural Networks
查看>>
关于单例模式
查看>>
引用类型原理图
查看>>
豆瓣api获取图片403
查看>>
phpcms模块开发简易教程
查看>>
C#派生类中使用基类protected成员的方法
查看>>
初学Javascript,写一个简易的登陆框
查看>>
构建易于维护的分布式程序
查看>>
图片预览(适用于IE6,9,10,Firefox)
查看>>
Oracle数据关联查询
查看>>
matlab中一些常用的函数
查看>>
程序员需谨记的8条团队开发原则
查看>>
内置条码扫描枪的平板电脑跟普通的平板优势在那里?
查看>>
2019春季学期第二周作业
查看>>
最短路默写
查看>>
c# 反射事件
查看>>
【Leetcode】【Medium】Search a 2D Matrix
查看>>