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

#include <leetcode.h>

静态 Public 成员函数

static vector< int > findPeakGrid (vector< vector< int > > &mat)
 
static vector< int > findPeakGridLR (vector< vector< int > > &mat, int l, int r)
 
static int get (vector< vector< int > > &mat, int i, int j)
 

详细描述

在文件 leetcode.h2742 行定义.

成员函数说明

◆ findPeakGrid()

vector< int > leetcode::find_a_peak_element_ii::Solution::findPeakGrid ( vector< vector< int > > &  mat)
static

在文件 leetcode.cpp7524 行定义.

7524{ return findPeakGridLR(mat, 0, mat[0].size() - 1); }
static vector< int > findPeakGridLR(vector< vector< int > > &mat, int l, int r)
Definition: leetcode.cpp:7501

引用了 findPeakGridLR().

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

◆ findPeakGridLR()

vector< int > leetcode::find_a_peak_element_ii::Solution::findPeakGridLR ( vector< vector< int > > &  mat,
int  l,
int  r 
)
static

在文件 leetcode.cpp7501 行定义.

7501 {
7502 const int mid = (l + r) / 2;
7503 int max_col = mid;
7504 int max_row = 0;
7505 int maximum = -1;
7506 for(int i = 0; i < mat.size(); i++) {
7507 for(int j = mid - 1; j <= mid + 1; j++) {
7508 if(maximum < get(mat, i, j)) {
7509 maximum = get(mat, i, j);
7510 max_col = j;
7511 max_row = i;
7512 }
7513 }
7514 }
7515 if(max_col == mid || l + 1 == r) {
7516 return {max_row, max_col};
7517 }
7518 if(max_col == mid + 1) {
7519 return findPeakGridLR(mat, mid, r);
7520 }
7521 return findPeakGridLR(mat, l, mid);
7522 }
static int get(vector< vector< int > > &mat, int i, int j)
Definition: leetcode.cpp:7526

引用了 findPeakGridLR() , 以及 get().

被这些函数引用 findPeakGrid() , 以及 findPeakGridLR().

◆ get()

int leetcode::find_a_peak_element_ii::Solution::get ( vector< vector< int > > &  mat,
int  i,
int  j 
)
static

在文件 leetcode.cpp7526 行定义.

7526 {
7527 if(i >= 0 && i < mat.size() && j >= 0 && j < mat[0].size()) {
7528 return mat[i][j];
7529 }
7530 return -1;
7531 }

被这些函数引用 findPeakGridLR().


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