zoukankan      html  css  js  c++  java
  • leetcode 1. Two Sum

    传送门

    1. Two Sum

    My Submissions
    Total Accepted: 193086 Total Submissions: 899528 Difficulty: Medium

    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.

    Example:

    Given nums = [2, 7, 11, 15], target = 9,
    
    Because nums[0] + nums[1] = 2 + 7 = 9,
    return [0, 1].
    

    UPDATE (2016/2/13):
    The return format had been changed to zero-based indices. Please read the above updated description carefully.

    Subscribe to see which companies asked this question

    Hide Tags
     Array Hash Table
    Show Similar Problems
     
    最简单的思路,两层for循环,640ms
     1 class Solution {
     2 public:
     3     vector<int> twoSum(vector<int>& nums, int target) {
     4         int i,j;
     5         vector<int> ans;
     6         int n = nums.size();
     7         int sum;
     8         for(i = 0; i < n ;i++){
     9             for(j = i + 1;j < n ;j++){
    10                 sum = nums[i] + nums[j];
    11                 if(sum == target){
    12                     ans.push_back(i);
    13                     ans.push_back(j);
    14                     return ans;
    15                 }
    16             }
    17         }
    18     }
    19 };

    考虑到题目说解是唯一的,那么用hash可求得(32ms):

     1 class Solution {
     2 public:
     3     vector<int> twoSum(vector<int>& nums, int target) {
     4         int i,j;
     5         vector<int> ans;
     6         map<int,int> mp;
     7         int n = nums.size();
     8         for(i = 0;i < n;i++){
     9             mp[ nums[i] ] = i + 1;
    10         }
    11         for(i = 0;i < n;i++){
    12             int left = target - nums[i];
    13             j = mp[ left ];
    14             if(j >= 1 && j != i + 1){
    15                 ans.push_back(i);
    16                 ans.push_back(j - 1);
    17                 return ans;
    18             }
    19         }
    20     }
    21 };
  • 相关阅读:
    pam_cracklib module
    转:ubuntu svn
    fw: subversion+apache config
    转:jenkins 简介
    fw:java 10大必知技术
    FW: Linux 搭建 csvn 服务器。
    转:修改svn 端口号
    转:Ubuntu搭建jenkins
    转:vmware workstation的三种网络连接方式。
    图像处理之直方图均衡
  • 原文地址:https://www.cnblogs.com/njczy2010/p/5227781.html
Copyright © 2011-2022 走看看