zoukankan      html  css  js  c++  java
  • [LeetCode]Two Sum

    题意:给一个整数的数组和目标值,找出这个数组中的两个元素的和为该目标值的元素的下标。

    本题来源:https://leetcode.com/problems/two-sum/

     1 struct Node
     2 {
     3     int val;
     4     int index;
     5     Node(){}
     6     Node(int v, int idx):val(v), index(idx){}
     7 };
     8 
     9 bool compare(const Node &l, const Node &r)
    10 {
    11     return l.val < r.val;
    12 }
    13 
    14 class Solution {
    15 public:
    16     vector<int> twoSum(vector<int> &numbers, int target) {
    17         // 把下标和值保存到Node中,然后在Node进行值的排序
    18         vector<Node> t;
    19         for(int i = 0; i < numbers.size(); i++)
    20             t.push_back(Node(numbers[i], i + 1));
    21         sort(t.begin(), t.end(), compare);
    22         
    23         int i = 0;
    24         int j = numbers.size() - 1;
    25         while(i < j)
    26         {
    27             int sum = t[i].val + t[j].val;
    28             if (sum == target)
    29             {
    30                 vector<int> ret;
    31                 int minIndex = min(t[i].index, t[j].index);
    32                 int maxIndex = max(t[i].index, t[j].index);
    33                 ret.push_back(minIndex);
    34                 ret.push_back(maxIndex);
    35                 return ret;
    36             }
    37             else if (sum < target)
    38                 i++;
    39             else
    40                 j--;
    41         }
    42     }
    43 };

    以上代码,我不晓得还有更好的方法没,求大神指导、调教···

  • 相关阅读:
    安装ArcGIS Server forJava
    MyEclipse编码设置
    地图切片公式备忘
    source
    逝去的痕迹
    flex build下的svn安装
    spket安装
    flex开发一
    vs2008中的SQL Server Express访问 sql server 2005
    导入不同格式的数据到arcgis中
  • 原文地址:https://www.cnblogs.com/orange1438/p/4377371.html
Copyright © 2011-2022 走看看