problemscpp
A collection of my answers to algorithm problems in c++.
静态 Public 成员函数 | 所有成员列表
leetcode::find_the_duplicate_number::Solution类 参考

#include <leetcode.h>

静态 Public 成员函数

static int countInRange (vector< int > &nums, int l, int r)
 
static int findDuplicate (vector< int > &nums)
 

详细描述

在文件 leetcode.h2778 行定义.

成员函数说明

◆ countInRange()

int leetcode::find_the_duplicate_number::Solution::countInRange ( vector< int > &  nums,
int  l,
int  r 
)
static

在文件 leetcode.cpp7653 行定义.

7653 {
7654 int ans = 0;
7655 for(const auto &num: nums) {
7656 if(l <= num && num <= r) {
7657 ans++;
7658 }
7659 }
7660 return ans;
7661 }

被这些函数引用 findDuplicate().

◆ findDuplicate()

int leetcode::find_the_duplicate_number::Solution::findDuplicate ( vector< int > &  nums)
static

在文件 leetcode.cpp7630 行定义.

7630 {
7631 int maximum = nums[0];
7632 int minimum = nums[0];
7633 for(const auto &num: nums) {
7634 maximum = max(maximum, num);
7635 minimum = min(minimum, num);
7636 }
7637 int l = minimum;
7638 int r = maximum;
7639 while(l < r) {
7640 const int m = (l + r) / 2;
7641 const int c = countInRange(nums, l, m);
7642 if(c == m - l + 1) {
7643 l = m + 1;
7644 } else if(c > m - l + 1) {
7645 r = m;
7646 } else {
7647 l++;
7648 }
7649 }
7650 return l;
7651 }
static int countInRange(vector< int > &nums, int l, int r)
Definition: leetcode.cpp:7653

引用了 countInRange().

被这些函数引用 leetcode::find_the_duplicate_number::TEST().


该类的文档由以下文件生成: