当前位置: 首页 > news >正文

力扣第357场周赛补题

6925. 故障键盘 - 力扣(LeetCode)

思路:模拟

class Solution {
public:string finalString(string s) {string res;for(auto c : s){if(c == 'i') reverse(res.begin(), res.end());else res += c;}return res;}
};

6953. 判断是否能拆分数组 - 力扣(LeetCode)

思路:脑筋急转弯

class Solution {
public:bool canSplitArray(vector<int>& nums, int m) {int n = nums.size();if(n <= 2) return true;for(int i = 0; i < n - 1; i ++ )if(nums[i] + nums[i + 1] >= m) return true;return false;}
};

2812. 找出最安全路径 - 力扣(LeetCode)

思路:多源bfs+倒序枚举+并查集

class Solution {
public:int dx[4] = {1, 0, -1, 0}, dy[4] = {0, 1, 0, -1};typedef pair<int, int> PII;int maximumSafenessFactor(vector<vector<int>>& grid) {int n = grid.size();vector<PII> q;vector<vector<int>> dist(n, vector<int>(n, -1));for(int i = 0; i < n; i ++ )for(int j = 0; j < n; j ++ )if(grid[i][j]){q.emplace_back(i, j);dist[i][j] = 0;}vector<vector<PII>> groups = {q};//groups每一层就代表的到1的距离相同的点//第0层就是1那些点,然后第一层就是第一层遍历的点,以此类推while (q.size()){vector<PII> nq;for(auto &[i, j] : q){for (int k = 0; k < 4; k ++ ) {int x = i + dx[k], y = j + dy[k];if(x >= 0 && x < n && y >= 0 && y < n && dist[x][y] < 0){nq.emplace_back(x, y);dist[x][y] = groups.size();}}}groups.push_back(nq);q = move(nq);//move将nq强制转化为右值引用}//并查集vector<int> p(n * n);iota(p.begin(), p.end(), 0);//0,1,2,3,4...function<int(int)> find = [&](int x) -> int {if(p[x] != x) return p[x] = find(p[x]); return p[x];};//因为最后还加了一层空数组,所以减2for(int res = groups.size() - 2; res > 0; res -- ){for(auto &[i, j] : groups[res]){for (int k = 0; k < 4; k ++ ) {int x = i + dx[k], y = j + dy[k];if(x >= 0 && x < n && y >= 0 && y < n && dist[x][y] >= dist[i][j])p[find(x * n + y)] = find(i * n + j);}}if(find(0) == find(n * n - 1)) return res;}return 0;}
};
http://www.lryc.cn/news/114099.html

相关文章:

  • Keras指定model.fit()的输出
  • 替换开源LDAP,某科技企业用宁盾目录统一身份,为业务敏捷提供支撑
  • 解决log4j.xml的url没有注册问题
  • 深度思考操作系统面经
  • 智慧工地源码:数字孪生智慧工地可视化解决方案
  • 解决rockchip平台Android13系统以太网设置静态IP保存不了问题
  • SQLAlchemy与标准SQL相比有哪些优点?
  • Zookeeper与Kafka
  • MySQL—— 基础语法大全
  • css小练习:案例6.炫彩加载
  • 使用正则表达式替换文本中的html标签
  • 当向数据库导入大量数据时,mysql主键唯一键重复插入,如何丝滑操作并不导入重复数据呢
  • 【go-zero】docker镜像直接部署go-zero的API与RPC服务 如何实现注册发现?docker network 实现 go-zero 注册发现
  • 微信小程序读取本地json
  • Stephen Wolfram:ChatGPT 的训练
  • SpringCloud实用篇2——Nacos配置管理 Feign远程调用 Gateway服务网关
  • tomcat配置文件和web站点部署(zrlog)简介
  • elementui实现当前页全选+所有全选+翻页保持选中状
  • Opencv项目实战:24 石头剪刀布
  • Qt--QPlugin插件
  • 公会发展计划 (GAP) 第 4 季:塑造 YGG 的成就版图
  • ExpressJS教程_编程入门自学教程_菜鸟教程-免费教程分享
  • 时序预测 | MATLAB实现BO-BiLSTM贝叶斯优化双向长短期记忆神经网络时间序列预测
  • HIVE优化之不需要参数优化
  • 前端 select 标签如何创建下拉菜单?
  • 基于 eclipse-temurin 构建国内时区,地区,语言的docker镜像
  • RunnerGo配置场景时接口模式该怎么选
  • 系统分享UIActivity
  • 常用抓包工具
  • 自然语言处理学习笔记(五)————切分算法