当前位置:网站首页>leetcode:251. 展开二维向量
leetcode:251. 展开二维向量
2022-08-04 14:31:00 【OceanStar的学习笔记】
题目来源
题目描述

题目解析
class Vector2D {
std::vector<std::vector<int>> m;
int row;
int col; //迭代器光标位置
bool canUse; //光标所指位置是否已经被使用过
public:
Vector2D(std::vector<std::vector<int>> v){
m = std::move(v);
row = 0, col = -1;
canUse = true; //认为[0, -1]使用过
has_next();
}
bool has_next(){
if(row == m.size()){
return false; //超过终止行了
}
if(!canUse){
//当前数还没有被使用过
return true;
}
// (row, col) 被使用过了, 要去下一个了
if(col == m[row].size() - 1){
col = 0;
do{
//跳过空行
row++;
}while (row < m.size() && m[row].empty());
}else{
col++;
}
// 新的(row, col)
if(row != m.size()){
canUse = false;
return true;
}else{
return false; //到了终止行
}
}
int next(){
int ans = m[row][col];
canUse = true;
has_next();
return ans;
}
};
边栏推荐
猜你喜欢
随机推荐
xampp安装包含的组件有(php,perl,apche,mysql)
阿里老鸟终于把测试用例怎么写说的明明白白了,小鸟必看
郑轻新生校赛和中工选拔赛题解
南瓜科学产品升级 开启益智探索新篇章
兆骑科创创新创业大赛活动举办,线上直播路演,投融资对接
广告电商系统开发功能只订单处理
[深入研究4G/5G/6G专题-50]: URLLC-16-《3GPP URLLC相关协议、规范、技术原理深度解读》-10-高可靠性技术-1-低编码率编码调制方案MCS与高可靠性DRB
LCP 06. 拿硬币-遍历
Android Sqlite3基本命令
基于 Next.js实现在线Excel
Keycloak 6.0.0 正式发布,身份和访问管理系统
【Web技术】1401- 图解 Canvas 入门
第六届未来网络发展大会,即将开幕!
ACL 2022 | 社会科学理论驱动的言论建模
字符串类的设计与实现_C语言字符串编程题
OAID是什么
js深拷贝和浅拷贝具体使用区别_es6深拷贝和浅拷贝
Set partition minimum difference problem (01 knapsack)
How to automatically renew the token after it expires?
爬虫——动作链、xpath、打码平台使用









