zoukankan      html  css  js  c++  java
  • 1. 两数之和 LeetCode

    给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

    你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

    示例:

    给定 nums = [2, 7, 11, 15], target = 9
    
    因为 nums[0] + nums[1] = 2 + 7 = 9
    所以返回 [0, 1]

    AC代码    执行用时:196 ms

     1 class Solution {
     2 public:
     3     vector<int> twoSum(vector<int>& nums, int target) {
     4         vector<int> result;
     5         for(int i = 0; i < nums.size() ; i++) {
     6             for(int j = i + 1; j < nums.size(); j++) {
     7                 if(nums[i] + nums[j] == target) {
     8                     result.push_back(i);
     9                     result.push_back(j);
    10                     return result; 
    11                 }
    12             }
    13         }
    14           
    15     }
    16 };

    范例AC代码  执行用时:4 ms   

     1 class Solution {
     2 public:
     3     vector<int> twoSum(vector<int>& nums, int target) {
     4         vector<int> arr(nums);
     5         sort(arr.begin(), arr.end());
     6         int i = 0, j = arr.size() - 1;
     7         while (i < j)
     8         {
     9             if (arr[i] + arr[j] < target)
    10                 i++;
    11             else if (arr[i] + arr[j] > target)
    12                 j--;
    13             else
    14                 break;
    15         }
    16         vector<int> ret;
    17         int a = distance(nums.begin(), find(nums.begin(), nums.end(), arr[i]));
    18         reverse(nums.begin(),nums.end());
    19         int b = nums.size() - 1 - distance(nums.begin(), find(nums.begin(), nums.end(), arr[j]));
    20         ret.push_back(a);
    21         ret.push_back(b);
    22         return ret;
    23     }
    24 };

    继续加油~

  • 相关阅读:
    什么是32位汇编的flat平坦内存模式
    oracle随机操作
    网线8根排列顺序
    vb创建NT服务
    函数声明后面加个stdcall是什么意思
    一些基础问题。
    ArcGIS Server中地图打印的实现
    添加BaseCommand 和Base Tool 的注意事项
    获取字符串中的某个子字符串
    AE, C#,按纸张打印地图
  • 原文地址:https://www.cnblogs.com/jj81/p/8945871.html
Copyright © 2011-2022 走看看