当前位置:网站首页>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;
}
};
边栏推荐
- 16、学习MySQL 正则表达式
- How to automatically renew the token after it expires?
- 杭电校赛(ACM组队安排)
- 爬虫——动作链、xpath、打码平台使用
- Lixia Action | Kyushu Yunzhang Jinnan: Open source is not a movement for a few people, popularization is the source
- 谷歌插件.crx文件下载后被自动删除的解决方法
- 七夕邂逅爱,那人一定在
- 化算力为战力:宁夏中卫的数字化转型启示录
- JCMsuite应用:倾斜平面波传播透过光阑的传输
- 编程思想_编程有必要给孩子学吗?
猜你喜欢
随机推荐
[Beiya data recovery] IBM System Storage storage lvm information lost data recovery solution
RS|哨兵二号(.SAFE格式)转tif格式
Technology sharing | Mini program realizes audio and video calls
Lixia Action | Kyushu Yunzhang Jinnan: Open source is not a movement for a few people, popularization is the source
爬虫——selenium基本使用、无界面浏览器、selenium的其他用法、selenium的cookie、爬虫案例
【北亚数据恢复】IBM System Storage存储lvm信息丢失数据恢复方案
SLAM 04.视觉里程计-1-相机模型
【模型部署与业务落地】基于量化芯片的损失分析
Notes for xpath getting node with namespace
节省50%成本!京东云重磅发布新一代混合CDN产品
Redis 复习计划 - Redis主从数据一致性和哨兵机制
【问题解决】QT更新组件出现 “要继续此操作,至少需要一个有效且已启用的储存库”
异步编程概览
字符串类的设计与实现_C语言字符串编程题
[深入研究4G/5G/6G专题-50]: URLLC-16-《3GPP URLLC相关协议、规范、技术原理深度解读》-10-高可靠性技术-1-低编码率编码调制方案MCS与高可靠性DRB
CF1527D MEX Tree(mex&树&容斥)
LCP 06. 拿硬币-遍历
砺夏行动|九州云章津楠:开源不是少数人的运动,大众化才是源泉
B. Construct a simple sequence (greedy)
Google plug-in. Download contents file is automatically deleted after solution