lc1337

pair存入,lambda sort后取出,最开始想用hash,写一半感觉写复杂了

class Solution {

public:

    vector<int> kWeakestRows(vector<vector<int>>& mat, int k) {

        int m = mat.size();

        int n = mat[0].size();

        vector<pair<int,int>>ans;

 

        //统计每一行的军人数量以及索引

        for(int i = 0; i < m; i++){

            int sum = accumulate(mat[i].begin(), mat[i].end(), 0);

            ans.push_back({sum, i});

        }

 

        //按照军人数量优先排序,其次是索引排序

        sort(ans.begin(), ans.end(), [](pair<int,int>&a, pair<int,int>&b){

            if(a.first == b.first){

                return a.second < b.second;

            }

            return a.first < b.first;

        });

        //统计k个索引

        vector<int>cnt;

        for(int i = 0; i < k; i++){

            cnt.push_back(ans[i].second);

        }

        return cnt;

    }

};

 

lc743.网络延迟时间

dijkstra=bfs+贪心

 class Solution {
public:
int networkDelayTime(vector<vector<int>>& times, int n, int k) {
vector<vector<int>> g(n, vector<int>(n, INT_MAX / 2)); // 邻接矩阵
for (auto& t : times) {
g[t[0] - 1][t[1] - 1] = t[2];
}

        vector<int> dis(n, INT_MAX / 2), done(n);
dis[k - 1] = 0;
while (true) {
int x = -1;
for (int i = 0; i < n; i++) {
if (!done[i] && (x < 0 || dis[i] < dis[x])) {
x = i;
}
}
if (x < 0) {
return ranges::max(dis);
}
if (dis[x] == INT_MAX / 2) { // 有节点无法到达
return -1;
}
done[x] = true; // 最短路长度已确定(无法变得更小)
for (int y = 0; y < n; y++) {
// 更新 x 的邻居的最短路
dis[y] = min(dis[y], dis[x] + g[x][y]);
}
}
}
};

1353.优先队列

priority_queue<int, vector<int>, greater<>> pq;

 class Solution {
public:
int maxEvents(vector<vector<int>>& events) {
int mx = 0;
for (auto& e : events) {
mx = max(mx, e[1]);
}

        // 按照开始时间分组
vector<vector<int>> groups(mx + 1);
for (auto& e : events) {
groups[e[0]].push_back(e[1]);
}

        int ans = 0;
priority_queue<int, vector<int>, greater<>> pq;
for (int i = 0; i <= mx; i++) {
// 删除过期会议
while (!pq.empty() && pq.top() < i) {
pq.pop();
}
// 新增可以参加的会议
for (int end_day : groups[i]) {
pq.push(end_day);
}
// 参加一个结束时间最早的会议
if (!pq.empty()) {
ans++;
pq.pop();
}
}
return ans;
}
};


螺旋数组的遍历

通过l t r b 控制遍历螺旋

class Solution {
public:
vector<int> spiralArray(vector<vector<int>>& array)
{
if (array.empty()) return {};
int l = 0, r = array[0].size() - 1, t = 0, b = array.size() - 1;
vector<int> res;
while(true)
{
for (int i = l; i <= r; i++) res.push_back(array[t][i]); // left to right
if (++t > b) break;


for (int i = t; i <= b; i++) res.push_back(array[i][r]); // top to bottom
if (l > --r) break;


for (int i = r; i >= l; i--) res.push_back(array[b][i]); // right to left
  if (t > --b) break;


for (int i = b; i >= t; i--) res.push_back(array[i][l]); // bottom to top
if (++l > r) break;
}
return res;
}
};

 

hash冲突与解决

 

 

 rust

所有权,包管理,高性能,0开销抽象,内存安全,无谓并发,主要[treat优于继承,实现自定义]

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/913784.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/913784.shtml
英文地址,请注明出处:http://en.pswp.cn/news/913784.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最新 HarmonyOS API 20 知识库 重磅推出

最新 HarmonyOS API 20 知识库 重磅推出 前言 最近整理下 华为开发者联盟最新的 API 20的鸿蒙应用开发文档&#xff0c;这次的API 20 相比较之前的文档&#xff0c;要多了不少内容&#xff0c;目前整理后是9000千多篇&#xff0c;不容易呀。 如何使用 基于腾讯的知识库工具 …

uniapp 监听物理返回按钮

import {onShow,onHide,onLoad,onReady,onBackPress} from "dcloudio/uni-app"onBackPress((e) > {showLog("返回按钮触发")if(e.frombackbutton){//开始干活}})参数说明属性类型说明fromString触发返回行为的来源&#xff1a;backbutton——左上角导航…

多线程(2)

多线程&#xff08;2&#xff09; &#x1f534;&#x1f7e0;&#x1f7e1;&#x1f7e2;&#x1f535;&#x1f7e3;&#x1f534;&#x1f534;&#x1f7e0;&#x1f7e1;&#x1f7e2;&#x1f535;&#x1f7e3;&#x1f534;&#x1f534;&#x1f7e0;&#x1f7e1;&am…

网关助力航天喷涂:Devicenet与Modbus TCP的“跨界对话“

在航空航天领域&#xff0c;飞机、航天器的制造过程有着极高的精度与安全性要求。以飞机、航天器表面喷涂作业为例&#xff0c;不仅要进行严格的防腐蚀处理&#xff0c;而且对表面光滑度要求极高&#xff0c;这直接关系到飞行器的空气动力学性能和使用寿命。为确保作业安全与质…

从传统项目管理到敏捷DevOps:如何转向使用DevOps看板工具进行工作流管理

在DevOps实践中&#xff0c;DevOps看板工具成为了开发与运维团队之间高效协作的关键。随着企业对敏捷开发和持续交付的需求日益增长&#xff0c;DevOps看板工具通过可视化的管理方法&#xff0c;帮助团队在繁杂的任务中保持高效的工作节奏和清晰的进度跟踪。 具体而言&#xff…

【leetcode100】下一个排列

1、题目描述 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如&#xff0c;arr [1,2,3] &#xff0c;以下这些都可以视作 arr 的排列&#xff1a;[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正…

Flink-Source算子状态恢复分析

背景 修改 source 算子 kafka_old_topic 消费任务运行一段时间后&#xff0c;暂停状态并保留。然后将 uid 和 topic 都改了&#xff0c;消费者 offset 会从 earliest 开始。 // before FlinkKafkaConsumer consumer KafkaConfig.getConsumer("kafka_old_topic");…

IDEA中application.yml配置文件不自动提示解决办法

今天在自己的电脑上使用IDEA的时候&#xff0c;发现在application配置文件里面输入配置项的时候没有提示&#xff0c;网上找了一圈也没解决&#xff0c;最后自己试出来了。 解决办法&#xff1a; 鼠标移动到配置文件上&#xff0c;单击右键-重写文件类型、选择YAML(捆绑)&#…

Vite 完整功能详解与 Vue 项目实战指南

Vite 完整功能详解与 Vue 项目实战指南 Vite 是下一代前端开发工具&#xff0c;由 Vue 作者尤雨溪开发&#xff0c;提供极速的开发体验和高效的生产构建。以下是完整功能解析和实战示例&#xff1a;一、Vite 核心功能亮点闪电般冷启动 基于原生 ES 模块&#xff08;ESM&#xf…

Vue 3 中使用路由参数跳转时 watch 触发重复请求问题详解

&#x1f4d8;Vue 3 中使用路由参数跳转时 watch 触发重复请求问题详解&#x1f516; 收藏 点赞 关注&#xff0c;掌握 Vue 3 路由参数监听中的隐藏陷阱&#xff0c;避免详情页、嵌套路由页误触发重复请求&#xff01;&#x1f9e9; 一、问题背景 在 Vue 3 项目中&#xff0c…

前端 项目更新通知 (plugin-web-update-notification)

项目版本更新迭代时&#xff0c;需提示用户更新系统&#xff0c;不然早时间不更新对用户体验很不好&#xff0c;所以在每次部署后需要提示用户&#xff0c;刷新静态资源。推荐插件 plugin-web-update-notification .具体配置 vite.config.js文件中 import { webUpdateNotice …

【力扣(LeetCode)】数据挖掘面试题0002:当面对实时数据流时您如何设计和实现机器学习模型?

文章大纲一、实时数据处理&#xff1a;构建低延迟的数据管道1. 数据接入与缓冲2. 实时清洗与校验3. 特征标准化与对齐二、模型设计&#xff1a;选择适配实时场景的模型架构1. 模型选择原则三、训练与更新策略&#xff1a;离线与在线协同&#xff0c;应对概念漂移1. 离线-在线协…

TongWeb8.0.9.0.3部署后端应用,前端访问后端报405(by sy+lqw)

问题描述&#xff1a; 客户前端部署在nginx上&#xff0c;后端部署在tongweb8上&#xff08;相当于前后端分离&#xff09;&#xff0c;登录的时候报错&#xff0c;f12看network&#xff0c;状态码405&#xff0c;如下所示&#xff1a;看console&#xff0c;如下所示&#xff1…

mysql互为主从失效,重新同步

一、分别登录服务器A和服务器B的mysqlmysql -u root -p 123456789二、分别查看数据库状态信息,下边两项参数有一项为NO就表示同步异常Slave_IO_Running:从服务器&#xff08;Slave&#xff09;中的 I/O 线程的运行状态Slave_SQL_Running:从服务器上的 SQL 线程是否正在运行mysq…

板凳-------Mysql cookbook学习 (十一--------6)

https://blog.csdn.net/weixin_43236925/article/details/146382981 清晰易懂的 PHP 安装与配置教程 12.6 查找每组行中含有最大或最小值的行 mysql> set max_price (select max(price) from painting); Query OK, 0 rows affected (0.01 sec)mysql> select artist.name…

ECS由浅入深第四节:ECS 与 Unity 传统开发模式的结合?混合架构的艺术

ECS由浅入深第一节 ECS由浅入深第二节 ECS由浅入深第三节 ECS由浅入深第四节 ECS由浅入深第五节 尽管 ECS 带来了显著的性能和架构优势&#xff0c;但在实际的 Unity 项目中&#xff0c;完全摒弃 GameObject 和 MonoBehaviour 往往是不现实的。Unity 引擎本身的大部分功能&…

Mac关闭触控板

打开 “有鼠标或无线触控板时忽略内建触控板”选项即可 参考&#xff1a;Mac如何关闭触控板防止误触&#xff1f;内置的设置就可以达成 - Mac天空

Python:Rich 终端富文本与界面样式工具库

🖌️ 1、简述 Rich 是一个强大的 Python 库,用于在终端中呈现富文本和精美的格式,让命令行界面(CLI)应用拥有现代、美观的输出效果。本文将深入介绍 Rich 的核心功能,并通过一系列实际示例展示其强大能力。 Rich 由 Will McGugan 开发,主要特点包括: 丰富的文本样式:支…

深入解析享元模式:通过共享技术高效支持大量细粒度对象

深入解析享元模式&#xff1a;通过共享技术高效支持大量细粒度对象 &#x1f31f; 嗨&#xff0c;我是IRpickstars&#xff01; &#x1f30c; 总有一行代码&#xff0c;能点亮万千星辰。 &#x1f50d; 在技术的宇宙中&#xff0c;我愿做永不停歇的探索者。 ✨ 用代码丈量世…

Docker高级管理

一、Docker 容器的网络模式 当项目大规模使用 Docker 时&#xff0c;容器通信的问题也就产生了。要解决容器通信问题&#xff0c;必须先了解很多关于网络的知识。Docker 的网络模式非常丰富&#xff0c;可以满足不同容器的通信要求&#xff0c;下表列出了这些网络模式的主要信息…