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

力扣370周赛

力扣第370场周赛

找到冠军 I

答案即入度为0的点

class Solution {
public:int findChampion(vector<vector<int>>& grid) {vector<int>d(100+5);int n = grid.size() , m = grid[0].size();for(int i = 0 ; i < n ; i ++){for(int j = 0 ; j < m ; j ++){if(grid[i][j] == true){d[j] ++;}}}for(int i = 0 ; i < n ; i ++){if(d[i] == 0)return i;}return -1;}
};

找到冠军 II

和I相同,加个判断下入度为0的点的个数即可

class Solution {
public:int findChampion(int n, vector<vector<int>>& edges) {vector<int>d(n+5);for(int i  = 0 ; i < edges.size(); i ++ ){cout << edges[i][1] << " ";d[edges[i][1]]++;}int res = 0 , cnt = 0;for(int i = 0 ; i < n ; i ++){if(d[i] == 0){res  = i;cnt ++;}}if(cnt > 1)return -1;return res;}
};

在树上执行操作以后得到的最大分数

题目可以转化为
在树中选任意节点,使得从根节点出发,到任意叶子节点经过的路径上的节点值之和都不等于0且选的值最小
从根节点开始dfs,选根节点或者子树的和

class Solution {
public:long long maximumScoreAfterOperations(vector<vector<int>>& edges, vector<int>& values) {vector<vector<int>> g(values.size());long long res = 0;for (auto &e: edges) {int x = e[0], y = e[1];g[x].push_back(y);g[y].push_back(x);}function<long long (int , int )> dfs = [&](int u , int f) -> long long {long long ans = values[u] , su = 0;for(auto j:g[u]){if(j == f)continue;su += dfs(j , u);}if(su == 0 || ans < su)return ans;return su;};for(auto x : values)res += x;res -= dfs(0 , -1);return res;}
};

平衡子序列的最大和

1.定义 b[i] = nums[i] - i,问题变成从 b 中选出一个非降子序列,求对应的 nums 的元素和的最大值,离散化后在1e5内

2.定义 f[i] 表示子序列最后一个数的下标是 i 时,对应的 nums 的元素和的最大值。那么答案就是 max⁡(f)
f[i] = max(f[j] , 0) + nums[i];

3.等式左边单点修改,右边区间查询用线段树优化

class Solution {
public:struct Node{int l, r;long long v;  // 区间[l, r]中的最大值}tr[400008];void pushup(int u){tr[u].v = max(tr[u << 1].v, tr[u << 1 | 1].v);}void build(int u, int l, int r){tr[u] = {l, r};if (l == r) return;int mid = (l + r) >> 1;build(u << 1, l, mid), build(u << 1 | 1, mid + 1, r);pushup(u);}long long query(int u, int l, int r){if (tr[u].l >= l && tr[u].r <= r) return tr[u].v;int mid = (tr[u].l + tr[u].r) >> 1;long long v = 0;if (l <= mid) v = query(u << 1, l, r);if (r > mid) v = max(v, query(u << 1 | 1, l, r));return v;}void modify(int u, int x, long long v){if (tr[u].l == x && tr[u].r == x) tr[u].v = v;else{int mid = (tr[u].l + tr[u].r) >> 1;if (x <= mid) modify(u << 1, x, v);else modify(u << 1 | 1, x, v);pushup(u);}}long long maxBalancedSubsequenceSum(vector<int>& nums) {int n = nums.size();// 离散化 nums[i]-iauto b = nums;for (int i = 0; i < n; i++) {b[i] -= i;}sort(b.begin(), b.end());b.erase(unique(b.begin(), b.end()), b.end()); // 去重build(1, 1, 100001);for (int i = 0; i < n; i++) {// j 为 nums[i]-i 离散化后的值(从 1 开始)int j = lower_bound(b.begin(), b.end(), nums[i] - i) - b.begin() + 1;long long f = max(query(1,0, j), 0LL) + nums[i];modify(1, j, f);}long long res = -0x3f3f3f3f;for(long long x : nums)res = max(res , x);if(query(1,0, 100001) == 0)return res;return query(1,0, 100001);     }
};

相关文章:

力扣370周赛

力扣第370场周赛 找到冠军 I 答案即入度为0的点 class Solution { public:int findChampion(vector<vector<int>>& grid) {vector<int>d(1005);int n grid.size() , m grid[0].size();for(int i 0 ; i < n ; i ){for(int j 0 ; j < m ; j )…...

EMNLP2023 | 让模型学会将提示插入到合适的中间层

深度学习自然语言处理 原创作者&#xff1a;cola 现有的提示微调方法基本是人工选择提示层&#xff0c;而人工选择将提示插入到哪些层次并非一定合理&#xff0c;这导致了很大程度上限制提示微调发挥潜能。我们的模型(SPT)可以让模型自己学习应该在哪些中间层插入提示&#xff…...

【PG】PostgreSQL单机部署(简洁命令版)

目录 1 下载安装包 2 上传至需要安装的服务器 3 服务器安装所需依赖包 4 解压安装包 5 配置安装 6 创建用户 7 创建目录修改权限 8 设置环境变量 9 设置共享库 10 初始化 11 启动数据库 12 关闭数据库 13 查看数据库状态 14 连接数据库 1 下载安装包 通过下载…...

AI:69-基于深度学习的音乐推荐

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…...

php 使用phpoffice/phpspreadsheet拓展实现导出图片

基础操作参考&#xff1a;https://blog.csdn.net/huaweichenai/article/details/95994006 文档地址&#xff1a;https://phpspreadsheet.readthedocs.io/ github地址&#xff1a;https://github.com/PHPOffice/PhpSpreadsheet 导出插入图片主要使用\PhpOffice\PhpSpreadshee…...

几种解决mfc140.dll文件缺失的方法,电脑提示mfc140.dll怎么办

电脑提示mfc140.dll缺失&#xff0c;如果你不去处理的话&#xff0c;那么你的程序游戏什么都是启动不了的&#xff0c;如果你想知道有什么方法可以解决那么可以参考这篇文章进行解决&#xff0c;今天给大家几种解决mfc140.dll文件缺失的方法。电脑提示mfc140.dll也不用担心解决…...

并发修改异常

并发修改异常&#xff08;Concurrent Modification Exception&#xff09;是指在多线程环境下&#xff0c;当一个方法检测到对象的并发修改&#xff0c;但不允许这种修改时&#xff0c;抛出的一种异常。换句话说&#xff0c;当两个或多个线程同时对一个对象进行修改时&#xff…...

split() 函数实现多条件转为数据为数组类型

使用 split() 函数并传递正则表达式 /[,;.-]/ 作为分隔符来将字符串按照逗号、分号和破折号进行拆分&#xff0c;并将结果赋值给 splitArray 数组。下面是一个示例代码&#xff1a; 在上面的示例中&#xff0c;我们使用 split() 函数将 inputString 字符串按照逗号、分号和破折…...

【Springboot】Vue3-Springboot引入JWT实现登录校验以及常见的错误解决方案

文章目录 前言一、JWT简单介绍二、token校验设计思路三、使用步骤Springboot部署JWT引入依赖&#xff1a;创建登录实体类后端&#xff1a;LoginController.java路由守卫函数 四、问题 前言 项目版本&#xff1a; 后端&#xff1a; Springboot 2.7、 Mybatis-plus、Maven 3.8.1…...

VueCli 自定义创建项目及配置

一、VueCli 自定义创建项目 1.安装脚手架 (已安装) npm i vue/cli -g2.创建项目 vue create hm-exp-mobile选项 Vue CLI v5.0.8 ? Please pick a preset:Default ([Vue 3] babel, eslint)Default ([Vue 2] babel, eslint) > Manually select features 选自定义手动…...

2024年节假日sql脚本(区分休息日、节假日、工作日、调休工作)

建表 CREATE TABLE no_work_day (id int NOT NULL AUTO_INCREMENT,day varchar(255) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb3 COMMENT节假日表;执行脚本插入数据 INSERT INTO no_work_day (day) VALUES (20240101); INSERT INTO no_work_day (…...

vue3介绍

介绍 3完全兼容2的语法 vue3&#xff1a;体积更小&#xff0c;性能会更高。底层做了很多优化 2倍左右 vue3vitets 渐进式框架 vue3和vue2 的区别 新语法&#xff0c;性能上提升很多 思想是一致的&#xff1a;动态绑定&#xff1a;状态data&计算属性&#xff0c;监听某些状态…...

Spark SQL自定义collect_list分组排序

想要在spark sql中对group by concat_ws()的字段进行排序&#xff0c;可以参考如下方法。 原始数据如下&#xff1a; ------------ |id |name |type| ------------ |1 |name1|p | |2 |name2|p | |3 |name3|p | |1 |x1 |q | |2 |x2 |q | |3 |x3 |q | …...

2023年云计算的发展趋势如何?

混合云的持续发展&#xff1a;混合云指的是将公有云和私有云进行结合&#xff0c;形成一种统一的云计算环境。随着企业对数据隐私和安全性的要求越来越高&#xff0c;以及在数据存储和处理方面的需求不断增长&#xff0c;混合云正在逐渐成为主流。预计未来混合云将会继续保持高…...

uniapp中picker 获取时间组件如何把年月日改成年月日默认时分秒为00:00:00

如图所示&#xff0c;uniapp中picker组件的日期格式为&#xff1a; 但后端要 2023-11-08 00:00:00格式 如何从2023-11-08转化为 2023-11-08 00:00:00&#xff1a;&#x1f447; const date new Date(e.detail.value);//"2023-11-17" date.setHours(0, 0, 0); // 2…...

k8s operator

Kubernetes Operator 是一种用于特定应用的控制器&#xff0c;可扩展 Kubernetes API 的功能&#xff0c;来代表 Kubernetes 用户创建、配置和管理复杂应用的实例。它基于基本 Kubernetes 资源和控制器概念构建&#xff0c;但又涵盖了特定领域或应用的知识&#xff0c;用于实现…...

使用io_uring

目录 升级内核以支持io_uring Io_uring 关注点 有序性 IOPOLL SQPOLL 环大小 wrk线程数量 升级内核以支持io_uring #!/bin/bash#内核源码压缩包 kernel_targz"linux-5.14.21.tar.xz"#内核源码解压后的目录 kernel_source"linux-5.14.21"echo "…...

LeetCode算法题解(回溯)|LeetCode93. 复原 IP 地址、LeetCode78. 子集、LeetCode90. 子集 II

一、LeetCode93. 复原 IP 地址 题目链接&#xff1a;93. 复原 IP 地址 题目描述&#xff1a; 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 . 分隔。 例如&#xff1a;"0.…...

vue、react数据绑定的区别?

Vue 和 React 是两个流行的前端框架&#xff0c;它们在数据绑定方面有一些区别。 Vue 的数据绑定&#xff1a; Vue 使用双向数据绑定&#xff08;two-way data binding&#xff09;的概念。这意味着当数据发生变化时&#xff0c;视图会自动更新&#xff1b;同时&#xff0c;当…...

前端Vue 页面滑动监听 拿到滑动的坐标值

前言 前端Vue 页面滑动监听 拿到滑动的坐标值 实现 Vue2写法 mounted() {// 监听页面滚动事件window.addEventListener("scroll", this.scrolling);}, methods: { scrolling() {// 滚动条距文档顶部的距离let scrollTop window.pageYOffset ||document.documentE…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

【JVM】- 内存结构

引言 JVM&#xff1a;Java Virtual Machine 定义&#xff1a;Java虚拟机&#xff0c;Java二进制字节码的运行环境好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收的功能数组下标越界检查&#xff08;会抛异常&#xff0c;不会覆盖到其他代码…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化

iOS 应用的发布流程一直是开发链路中最“苹果味”的环节&#xff1a;强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说&#xff0c;这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发&#xff08;例如 Flutter、React Na…...