• 259 [LeetCode] 3Sum Smaller 三数之和较小值


    题目:

    Given an array of n integers nums and a target, find the number of index triplets i, j, k with 0 <= i < j < k < n that satisfy the condition nums[i] + nums[j] + nums[k] < target.

    For example, given nums = [-2, 0, 1, 3], and target = 2.

    Return 2. Because there are two triplets which sums are less than 2:

    [-2, 0, 1]
    [-2, 0, 3]
    

    Follow up:
    Could you solve it in O(n2) runtime?



    方法一:

    class Solution {
    public:
        int threeSumSmaller(vector<int>& nums, int target) {
            int res = 0;
            sort(nums.begin(), nums.end());
            for (int i = 0; i < int(nums.size() - 2); ++i) {
                int left = i + 1, right = nums.size() - 1, sum = target - nums[i];
                for (int j = left; j <= right; ++j) {
                    for (int k = j + 1; k <= right; ++k) {
                        if (nums[j] + nums[k] < sum) ++res;
                    }
                }
            }
            return res;
        }
    };

    方法二:

    • 双指针
      class Solution2 {
      public:
          int threeSumSmaller(vector<int>& nums, int target) {
              if (nums.size() < 3) return 0;
              int res = 0, n = nums.size();
              sort(nums.begin(), nums.end());
              for (int i = 0; i < n - 2; ++i) {
                  int left = i + 1, right = n - 1;
                  while (left < right) {
                      if (nums[i] + nums[left] + nums[right] < target) {
                          res += right - left;
                          ++left;
                      } else {
                          --right;
                      }
                  }
              }
              return res;
          }
      };
  • 相关阅读:
    Sass:@error
    Sass @warn
    Sass @debug
    Sass:@at-root
    Sass-@extend
    sass @import 规则
    Opacity函数-transparentize()、 fade-out()函数
    Sass函数:Opacity函数-opacify()、fade-in()函数
    Sass-Opacity函数-rgba()函数
    学习笔记97—matlab 获取矩阵中特定值的坐标
  • 原文地址:https://www.cnblogs.com/250101249-sxy/p/10421748.html
Copyright © 2020-2023  润新知