#include <leetcode.h>
|
static vector< vector< int > > | findRLEArray (vector< vector< int > > &encoded1, vector< vector< int > > &encoded2) |
|
◆ findRLEArray()
vector< vector< int > > leetcode::product_of_two_run_length_encoded_arrays::Solution::findRLEArray |
( |
vector< vector< int > > & | encoded1, |
|
|
vector< vector< int > > & | encoded2 ) |
|
static |
在文件 leetcode.cpp 第 7687 行定义.
7687 {
7688 vector<vector<int>>
ans;
7689 int p1 = 0;
7690 int p2 = 0;
7691 for(int i1 = 0, i2 = 0; i1 < encoded1.size() && i2 < encoded2.size();) {
7692 const int len = min(encoded1[i1][1] - p1, encoded2[i2][1] - p2);
7693 const int v = encoded1[i1][0] * encoded2[i2][0];
7694 if(!
ans.empty() &&
ans.back()[0] == v) {
7695 ans.back()[1] += len;
7696 } else {
7697 vector
vec = {v, len};
7698 ans.emplace_back(vec);
7699 }
7700 p1 += len;
7701 p2 += len;
7702 if(p1 >= encoded1[i1][1]) {
7703 i1++;
7704 p1 = 0;
7705 }
7706 if(p2 >= encoded2[i2][1]) {
7707 i2++;
7708 p2 = 0;
7709 }
7710 }
7712 }
vector< vector< int > > ans
被这些函数引用 leetcode::product_of_two_run_length_encoded_arrays::TEST() , 以及 leetcode::product_of_two_run_length_encoded_arrays::TEST().
该类的文档由以下文件生成: