矩阵中对角线的遍历问题【C++】
1,按对角线进行矩阵排序
题目链接:3446. 按对角线进行矩阵排序 - 力扣(LeetCode)
【题目描述】
对于一个m*n的矩阵grid,要求对该矩阵进行 变换,使得变换后的矩阵满足:
主对角线右上的所有对角线上,元素升序排列。
主对角线左下的所有对角线上,元素降序排列。
【思路】
对于一个矩阵grid,我们可以发现,从右上角到左下角的所有对角线中,同一条对角线上的元素满足:行号i减去列号j是一个定值。
令k=i-j+n,这里加n是为了避免k出现负数。
对于右上角的对角线,k=i-j+n=1。对于左下角的对角线k=m+n-1;
所以,我们可以枚举k=1,2,3,......,m+n-1;相当于从右上角开始,到左下角结束,遍历每条对角线。
接下来需要求出每条对角线上j的取值范围,从而可以遍历对角线上的元素 。
k=i-j+n——>j=i+n-k。
当i=0时,j取最小值,j=n-k。但是j可能会出现负数,所以最小的j=max(0,n-k)。
当i=m-1时,j取最大值,j=m+n-1-k。但是j可能会超出范围,所以最大的j=min(n-1,m+n-1-k)。
对于一个矩阵,如何区别主对角线的右上和左下???
我们可以通过j的最小值来确定,观察上图可看出,对于主对角线右上的对角线来说,j的最小值都是大于0的,相反,对于主对角线走下的对角线来说,j的最小值都是等于0的。所以可以 以这点来做区分。
接下来就可以进行模拟了:
枚举k=1,2,3......,m+n-1;
求出每条对角线上j的范围。将该对角线上的 元素加入数组 。排序后(升序或者降序)写回原数组。
【代码】
class Solution {
public:vector<vector<int>> sortMatrix(vector<vector<int>>& grid) {//k=i-j+n;int m=grid.size(),n=grid[0].size();//右上角k=1//左下角k=m+n-1for(int k=1;k<m+n;k++){//计算当前对角线的最小值和最大值int min_j=max(n-k,0);int max_j=min(m+n-k-1,n-1);vector<int> a;for(int j=min_j;j<=max_j;j++){a.push_back(grid[k+j-n][j]);}//主对角线右上 升序排列if(min_j>0){ranges::sort(a);}else{//主对角线左下 降序排列ranges::sort(a,greater<int>());}//写回数组for(int j=min_j;j<=max_j;j++){grid[k+j-n][j]=a[j-min_j];}}return grid;}
};
时间复杂度:O(N^2*logN)
空间复杂度:O(N)
2,将矩阵按对角线进行排序
题目链接:1329. 将矩阵按对角线排序 - 力扣(LeetCode)
本题和上题思路一致,但是要求每条对角线都按升序排列。
class Solution {
public:vector<vector<int>> diagonalSort(vector<vector<int>>& mat) {int m=mat.size(),n=mat[0].size();for(int k=1;k<m+n;k++){int min_j=max(n-k,0);int max_j=min(m+n-k-1,n-1);vector<int> a;for(int j=min_j;j<=max_j;j++)a.push_back(mat[k+j-n][j]);ranges::sort(a);for(int j=min_j;j<=max_j;j++)mat[k+j-n][j]=a[j-min_j];}return mat;}
};
3,对角线上不同值的数量差
题目链接:2711. 对角线上不同值的数量差 - 力扣(LeetCode)
【题目描述】
对于一个大小为m*n的矩阵grid,返回一个同等规模的数组ans,其中ans[i][j]表示:
在矩阵grid中,grid[i][j]左上角对角线中不同值的数量和右下角对角线不同值的数量的差值,对最后结果再取绝对值。
【思路1】暴力计算 :
遍历grid[i][j]的每一个元素,计算topLeft[i][j]和bottomRight[i][j]。
首先我们可以定义一个unordered_set容器,遍历元素的时候,将元素加入到该容器中。
计算topLeft[i][j]:从[i,j]位置开始,遍历左上角对角线,进行[i--,j--]操作。直到矩阵的边界。
这个过程中,把遍历到的元素加入到容器中,最终topLeft[i][j]就是容器的大小。
计算bottomRight[i][j]:从[i,j]位置开始,遍历右下角对角线,进行[i++,j++]操作。直到矩阵的边界。这个过程中,把遍历到的元素加入到容器中 ,最终bottomRight[i][j]就是容器的大小。
【思路1代码】
class Solution {
public:vector<vector<int>> differenceOfDistinctValues(vector<vector<int>>& grid) {int m=grid.size(),n=grid[0].size();vector<vector<int>> ans(m,vector<int>(n,0));unordered_set<int> st;//天然的去重,容器的大小就是 不同值的数量for(int i=0;i<m;i++){for(int j=0;j<n;j++){st.clear();//查找左上角 不同值的个数for(int x=i-1,y=j-1;x>=0&&y>=0;x--,y--)st.insert(grid[x][y]);int topLeft=st.size();//查找右下角 不同值的个数st.clear();for(int x=i+1,y=j+1;x<m&&y<n;x++,y++)st.insert(grid[x][y]);int bottomRight=st.size();ans[i][j]=abs(topLeft-bottomRight);}}return ans;}
};
时间复杂度:O(m*n*(min(m,n)),m和n分别为grid的行数和列数。
计算一个topLeft和bottomRight需要O(min(m,n))的时间。
【思路2】
该方法就要使用到前面两道题对 对角线的操作思路。
思路一的方法:对于同一条对角线,会遍历多次。比如求ans[0][0],会遍历一次主对角线,求ans[1][1]的时候,会遍历一次主对角线,求ans[1][1]也会遍历一次主对角线,所以存在多次重复遍历。
我们可以按照前面两道题的思路。
将每条对角线看成是一个一维数组d。
对于d[i]来说:
topLeft[i]是d[i]左侧不同值的数量,我们可以从左向右遍历,将元素加入到哈希集合中,直到遍历到d[i],此时topLeft就是哈希集合的大小。
bottomRight[i]是右侧不同值的数量 ,我们可以从右向左遍历,将元素加入到哈希集合中,直到遍历到d[i],此时bottomRight就是哈希集合的大小。
【思路2代码】
class Solution {
public:vector<vector<int>> differenceOfDistinctValues(vector<vector<int>>& grid) {int m=grid.size(),n=grid[0].size();unordered_set<int> st;vector<vector<int>> ans(m,vector<int>(n));//枚举k 从1到m+n-1//k=i-j+nfor(int k=1;k<m+n;k++){//求出j的范围int min_j=max(n-k,0);//i=0时,j=n-k,但不能是负数int max_j=min(m+n-k-1,n-1);//i=m-1时,j=m+n-1-k,但不能超出范围st.clear();//计算左侧不同值的数量 topLeft//从 左向右遍历for(int j=min_j;j<=max_j;j++){int i=k+j-n;ans[i][j]=st.size(); //topLeft[i][j]=st.size();st.insert(grid[i][j]);}//计算右侧最大值的数量 bottomRight//从右向左遍历st.clear();for(int j=max_j;j>=min_j;j--){int i=k+j-n;ans[i][j]=abs(ans[i][j]-(int)st.size());//st.size()返回值时size_tst.insert(grid[i][j]);}}return ans;}
};
时间复杂度:O(m*n),每个单元格访问两次。
4,对角线遍历
题目链接:498. 对角线遍历 - 力扣(LeetCode)
【思路】
我们前面所讲题的对角线遍历,对角线都是从左上角到右下角的一条线。都是主对角线。
而本题 方向相反,都是副对角线。我们可以将数组中的每一行进行翻转,就可以转化成主对角线了。
之后,使用前面的思想,遍历每条对角线。
k=i-j+n;枚举k,从1到m+n-1;
求出每条对角线j的最大值和最小值。
对于每条对角线,我们可能需要从下到上遍历,也可能需要从上到下遍历。对应的j就需要从大到小遍历,也可能需要从小到大遍历。
我们可以定义一个变量flag,flag=1时从下到上遍历,也就是j从从大到小遍历。
flag=0时,从上到下遍历,也就是j从小到大遍历。
开始时,需要从下到上遍历,flag设为1.
【代码】
class Solution {
public:vector<int> findDiagonalOrder(vector<vector<int>>& mat) {int m=mat.size(),n=mat[0].size();//翻转每一行for(auto& v:mat){reverse(v.begin(),v.end());}vector<int> ans;int flag=1;//k=i-j+n//1,2,3......m+n-1//枚举k,枚举每一条对角线for(int k=1;k<m+n;k++){//求出j的最小值和最大值int min_j=max(n-k,0);int max_j=min(m+n-k-1,n-1);//从下到上遍历 对于j是从大到小遍历if(flag){for(int j=max_j;j>=min_j;j--){int i=k+j-n;ans.push_back(mat[i][j]);}}else //从上到下遍历 对应的j从小到大遍历{for(int j=min_j;j<=max_j;j++){int i=k+j-n;ans.push_back(mat[i][j]);}}flag^=1;}return ans;}
};
总结:
对角线的遍历(主对角线):对于一个m*n的矩阵。
在同一条对角线上的元素,行号i减去列号j是一个定值。k=i-j+n;
k的值从1开始到m+n-1。就是主对角线从右上角对角线开始,一直到左下角对角线。
遍历对角线时,我们只需求出j的范围即可,i=k+j-n。但需要注意j不能小于0,也不能超出数组的范围。然后就可以对这条对角线进行操作了。
相关文章:
矩阵中对角线的遍历问题【C++】
1,按对角线进行矩阵排序 题目链接:3446. 按对角线进行矩阵排序 - 力扣(LeetCode) 【题目描述】 对于一个m*n的矩阵grid,要求对该矩阵进行 变换,使得变换后的矩阵满足: 主对角线右上的所有对角…...
自动化与智能化的认知差异
从认知心理学的角度对自动化和智能化进行了区分,我们可以从同化、顺应、平衡、图式方面来理解:一、自动化与图式及同化(1)图式是认知心理学中的一个重要概念,指个体对世界的知觉经验和理解方式,是个体过去经…...
leetcode 2360 图中最长的环 题解
题面 给定一个有向图,每个点出度最大为一,现在问你图中最长的环的长度是多少,如果没有环输出 -1, 1 ≤ n ≤ 1 0 5 1 \le n \le 10^5 1≤n≤105。 题面 解题思路 我们直接说结论,我们从任意一个点出发,用…...
鸿蒙UI开发
鸿蒙UI开发 本文旨在分享一些鸿蒙UI布局开发上的一些建议,特别是对屏幕宽高比发生变化时的应对思路和好的实践。 折叠屏适配 一般情况(自适应布局/响应式布局) 1.自适应布局 1.1自适应拉伸 左右组件定宽 TypeScript //左右定宽 Row() { …...
华宇TAS应用中间件与晓窗科技智慧校园管理一体化平台完成兼容互认证
近日,华宇TAS应用中间件与安徽晓窗教育科技有限公司(以下简称晓窗科技)的智慧校园管理一体化平台V1.0完成兼容性认证。经双方联合测试,两款产品在稳定性、安全性以及性能等方面表现优异,可以满足政企客户对于数据安全以…...
Java——数组
一、数组是? 数组就是一个容器,用于存储一批同种类型的数据。 数组变量名中存储的是数组在内存中的地址,数组是一种引用数据类型。 二、静态初始化数组 (一)定义 即定义数组的时候直接给数组赋值。 (…...
MySQL排序详解
MySQL支持两种方式排序filesort和indexindex是指扫描索引本身完成排序,index效率高filesort是指通过内存或者排序文件完成排序,filesort效率低 order by满足两种情况时会使用index排序 order by语句使用索引最左列where条件字段和order by字段组合满足索…...
【python实战】-- 选择解压汇总mode进行数据汇总20250329更新
系列文章目录 文章目录 系列文章目录前言一、功能列表二、程序如下:总结 前言 一、功能列表 该模板用于多功能数据汇总处理: 1、用于解压压缩包,输入指定路径,即可解压多级压缩文件; 2、镜筒反射率、LAB文件汇总&…...
Java 程序员面试题:从基础到高阶的深度解析
引言 Java 作为全球最流行的编程语言之一,其面试题不仅考察候选人的编程能力,更关注对底层原理和架构设计的理解。本文将系统梳理 Java 面试中的高频考点,结合代码示例与原理分析,助您从容应对技术面试。 一、Java 基础语法与核…...
JSP(实验):带验证码的用户登录
[实验目的] 1.掌握应用request对象获取表单提交的数据。 2.掌握解决获取表单提交数据产生中文乱码的问题。 3.掌握使用response对象进行定时跳转功能。 4.掌握使用session对象完成登录和注销功能。 [实验要求] 设计带验证码…...
【安全运营】关于攻击面管理相关概念的梳理(二)
CYNC(持续可见性和网络控制) CYNC(Continuous Visibility and Network Control)即“持续可见性和网络控制”,是一个与网络安全和IT运营管理相关的概念。它强调的是在一个组织的数字环境中,确保对所有资产、…...
【Linux篇】进程入门指南:操作系统中的第一步
步入进程世界:初学者必懂的操作系统概念 一. 冯诺依曼体系结构1.1 背景与历史1.2 组成部分1.3 意义 二. 进程2.1 进程概念2.1.1 PCB(进程控制块) 2.2 查看进程2.2.1 使用系统文件查看2.2.2 使⽤top和ps这些⽤⼾级⼯具来获取2.2.3 通过系统调用…...
Linux进程状态补充(10)
文章目录 前言一、阻塞二、挂起三、运行R四、休眠D五、四个重要概念总结 前言 上篇内容大家看的云里雾里,这实在是正常不过,因为例如 写实拷贝 等一些概念的深层原理我还没有讲解,大家不用紧张,我们继续往下学习就行!&…...
STM32_HAL开发环境搭建【Keil(MDK-ARM)、STM32F1xx_DFP、 ST-Link、STM32CubeMX】
安装Keil(MDK-ARM)【集成开发环境IDE】 我们会在Keil(MDK-ARM)上去编写代码、编译代码、烧写代码、调试代码。 Keil(MDK-ARM)的安装方法: 教学视频的第02分03秒开始看。 安装过程中请修改一下下面两个路径,避免占用C盘空间。 Core就是Keil(MDK-ARM)的…...
全自动数字网络机器人:重塑未来的无形引擎 ——从金融量化到万物互联,为何必须“ALL IN”?
全自动数字网络机器人:重塑未来的无形引擎 ——从金融量化到万物互联,为何必须“ALL IN”? (2025年3月29日) “未来十年,代码将比石油更具价值。” —— DeepSeek创始人梁文锋 一、数据洪流与AI进化&#…...
每日一题之修建灌木
问题描述 爱丽丝要完成一项修剪灌木的工作。 有 N 棵灌木整齐的从左到右排成一排。爱丽丝在每天傍晩会修剪一棵灌 木, 让灌木的高度变为 0 厘米。爱丽丝修剪灌木的顺序是从最左侧的灌木开始, 每天向右修剪一棵灌木。当修剪了最右侧的灌木后, 她会调转方向, 下一天开 始向左修…...
智能仪表板DevExpress Dashboard v24.2新版亮点:支持.NET 9
使用DevExpress BI Dashboard,再选择合适的UI元素(图表、数据透视表、数据卡、计量器、地图和网格),删除相应参数、值和序列的数据字段,就可以轻松地为执行主管和商业用户创建有洞察力、信息丰富的、跨平台和设备的决策…...
ubuntu下终端打不开的排查思路和解决方法
问题现象描述:ubuntu开机后系统桌面显示正常,其他图形化的app也都能打开无异常,唯独只有terminal终端打不开,无论是鼠标点击终端软件,还是ctrlaltt,还是altF2后输入gnome-terminal后按回车,这三…...
鸿蒙项目源码-天气预报app-原创!原创!原创!
鸿蒙天气预报项目源码包运行成功含文档ArkTS语言。 我半个月写的原创作品,请尊重原创。 原创作品,盗版必究!!!! 原创作品,盗版必究!!!! 原创作品…...
Turtle事件处理(键盘与鼠标交互)
Turtle 提供了 事件驱动编程,允许我们使用 键盘 和 鼠标 控制 Turtle,从而实现交互式绘图。例如,我们可以让 Turtle 响应 按键、鼠标点击 和 拖动 事件,使其根据用户的输入进行移动、旋转或绘制图形。 1. 事件机制概述 Turtle 的事件处理主要依赖 turtle.Screen() 提供的 …...
算法基础——模拟
目录 1 多项式输出 2.蛇形方阵 3.字符串的展开 模拟,顾名思义,就是题⽬让你做什么你就做什么,考察的是将思路转化成代码的代码能⼒。这类题⼀般较为简单,属于竞赛⾥⾯的签到题(但是,万事⽆绝对ÿ…...
惠普(HP)和联想(Lenovo)作为全球两大电脑品牌,并不是简单的“拼接电脑”
惠普(HP)和联想(Lenovo)作为全球两大电脑品牌,并不是简单的“拼接电脑”,它们都有自己的核心技术、专利设计和生态体系。以下是它们“自己的”核心部分: 1. 关键自研技术 品牌自研技术/专利说明…...
一些练习 C 语言的小游戏
一些练习 C 语言的小游戏 — 1. 猜数字游戏 描述:程序随机生成一个数字,玩家需要猜测这个数字,并根据提示(太高或太低)调整猜测,直到猜中为止。 功能点: 随机数生成 (rand() 函数)。循环和…...
曲线拟合 | Matlab基于贝叶斯多项式的曲线拟合
效果一览 代码功能 代码功能简述 目标:实现贝叶斯多项式曲线拟合,动态展示随着数据点逐步增加,模型后验分布的更新过程。 核心步骤: 数据生成:在区间[0,1]生成带噪声的正弦曲线作为训练数据。 参数设置:…...
Python 序列构成的数组(对序列使用+和_)
对序列使用和* Python 程序员会默认序列是支持 和 * 操作的。通常 号两侧的序列由 相同类型的数据所构成,在拼接的过程中,两个被操作的序列都不会被 修改,Python 会新建一个包含同样类型数据的序列来作为拼接的结果。 如果想要把一个序列…...
洛谷题单1-P5703 【深基2.例5】苹果采购-python-流程图重构
题目描述 现在需要采购一些苹果,每名同学都可以分到固定数量的苹果,并且已经知道了同学的数量,请问需要采购多少个苹果? 输入格式 输入两个不超过 1 0 9 10^9 109 正整数,分别表示每人分到的数量和同学的人数。 输…...
计算机网络 用deepseek帮助整理的复习资料(一)
### 计算机网络基础知识整理 --- #### **一、网络类型** 1. **局域网 (LAN)** - **定义**:覆盖小范围(如家庭、教室、公司)。 - **特点**:高带宽、低延迟,设备通过交换机互联。 - **示例**࿱…...
虚拟电商-话费充值业务(二)话费充值对接供应商模块开发
一、对接供应商模块开发 供应商对接模块chongba_recharge_supplier主要负责的就是调用外部的供应商系统进行充值下单,这种调用是一种基于HTTP协议的调用。 此外在供应商对接模块中主要是实现的业务逻辑有: 1:余额或押金不足情况下的失败轮…...
DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加行拖拽排序功能示例3,TableView16_03 拖拽视觉反馈示例
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加行拖拽排序功能示例3,TableView16_03 拖…...
游戏引擎学习第186天
回顾并规划今天的任务 现在,我们站在了一个关键的时刻,准备突破,拥有一些优秀的性能分析代码。从目前来看,我们已经能够看到时间的消耗情况,我对这一点感到非常兴奋。昨天的直播中我们勉强让一些东西工作了࿰…...
树的基础_遍历(蓝桥云课)
一些树上问题: 树的直径: import java.util.*;public class TreeDiameter {static List<List<Integer>> tree; // 用邻接表存储树结构static int[] depth; // 记录每个节点的深度public static void main(String[] args) {S…...
29_项目
目录 http.js 1、先注册账号 register.html 2、再登录 login.html 3、首页 index.html 4 详情 details.html cart.html css index.css register.css details.css 演示 进阶 http.js let baseURL "http://localhost:8888"; let resgiterApi baseURL &…...
vue搭建一个树形菜单项目
首先搭建项目需要先通过步骤搭建一个vue的项目,然后创建一个component文件,里面新建一个index.vue页面来。 这是引入的element-ui组件库里的组件,来实现我的路由,渲染的是我存储的动态路由,所以需要先安装并且引用。 …...
Python包管理完全指南:pip常用命令与最佳实践
一、pip核心功能解析 作为Python官方推荐的包管理工具,pip承担着以下关键职责: 从PyPI(Python Package Index)仓库安装/卸载第三方库管理项目依赖关系和版本控制支持本地/私有仓库的包安装维护虚拟环境中的包隔离 二、20个必知…...
Eigen 3
本文来源:腾讯元宝 Eigen 3 是一个专注于线性代数运算的高性能 C 模板库,广泛应用于科学计算、机器学习、计算机视觉等领域。以下是其核心特性与功能的综合介绍: 1. 核心定义与设计理念 纯头文件库:Eigen 3 无需编译或链接…...
数字化转型国家标准- GB/T 45341-2025《数字化转型管理 参考架构》
GB/T 45341-2025《数字化转型管理 参考架构》 前言一、数字化转型的根本任务二、标准的主要内容2.1、 核心概念2.2、总体框架2.3、 主要视角2.4、过程方法2.5、 发展阶段与水平档次 前言 在工业和信息化部和国家标准化管理委员会的指导下,全国信息化和工业化融合管…...
Redis 源码硬核解析系列专题 - 第三篇:核心数据结构之字典(Dict)
1. 引言 字典(Dict)是Redis的核心数据结构之一,用于实现键值存储(Redis数据库的核心)和内部元数据管理(如客户端状态)。Redis的字典基于哈希表实现,支持高效的增删改查操作。本篇将深入剖析其源码实现,包括哈希表结构、冲突解决和渐进式rehash机制。 2. 字典的结构体…...
JS—异步编程:3分钟掌握异步编程
个人博客:haichenyi.com。感谢关注 一. 目录 一–目录二–引言三–JavaScript 事件循环机制四–定时器的秘密:setTimeout 和 setInterval五–异步编程模型对比 二. 引言 在现代Web开发中,异步编程是提升性能的关键技术。无论是脚本加载&am…...
Linux C语言调用第三方库,第三方库如何编译安装
在 Linux 环境下使用 C 语言调用第三方库时,通常需要先对第三方库进行编译和安装。以下为你详细介绍一般的编译安装步骤,并给出不同类型第三方库(如使用 Makefile、CMake 构建系统)的具体示例。 一般步骤 1. 获取第三方库源码 …...
gogs私服搭建
一.介绍: gogs是一个用Go语言开发的自助Git服务,目标是简单、快速搭建Git服务, 支持多种平台,包括Linux、Windows等。它类似于GitHub,但更轻量,适合个人或小团队使用, 在简化git服务搭建流程的…...
python和c中作用域的差异
好的,我将详细列举 Python 和 C 语言在作用域规则上的主要差异,并为每种差异提供具体的代码示例,以便更清晰地理解它们之间的不同。 1. 块级作用域(Block Scope) C 语言 在 C 语言中,任何用 {} 包裹的代…...
C++ 中将函数作为参数传递
C 中将函数作为参数传递 1. 通过指针传递函数 函数可以通过传递函数的地址来作为参数传递;简而言之,就是通过指针实现这一点。 示例代码 #include <iostream> using namespace std;// 定义加法和减法函数 #include <iostream> #include …...
【C++】右值引用与完美转发
目录 一、右值引用: 1、左值与右值: 2、左值引用和右值引用: 二、右值引用的使用场景: 1、左值引用的使用场景: 2、右值引用的使用场景: 移动构造 移动赋值 三、完美转发: 1、万能引用…...
批量合并 PDF 文档,支持合并成单个文档,也支持按文件夹合并 PDF 文档
在日常工作中,合并多个 PDF 文档为一个文件是非常常见的需求。通过合并 PDF,不仅能够更方便地进行管理,还能在特定场景下(如批量打印)提高效率。那么,当我们需要批量合并多个 PDF 文件时,是否有…...
SQL Server 备份相关信息查看
目录标题 一、统计每个数据库在不同备份目录和备份类型下的备份次数,以及最后一次备份的时间整体功能详细解释 二、查询所有完整数据库备份的信息,包括备份集 ID、数据库名称、备份开始时间和备份文件的物理设备名称,并按备份开始时间降序排列…...
Flutter_学习记录_AppBar中取消leading的占位展示
将leading设置为null将automaticallyImplyLeading设置为false 看看automaticallyImplyLeading的说明: Controls whether we should try to imply the leading widget if null. If true and [AppBar.leading] is null, automatically try to deduce what the leading…...
多省发布!第27届中国机器人及人工智能大赛各赛区比赛通知
01 大赛介绍 中国机器人及人工智能大赛是由中国人工智能学会主办的极具影响力的全国性学科竞赛,旨在推动我国机器人及人工智能技术的创新与应用,促进相关专业的人才培养。作为全国高校学科竞赛A类赛事,该比赛吸引了众多高校和科研机构的积极…...
leetcode199 二叉树的右视图
小问题:if(!q.empty()) 这个条件会导致只处理一层,而不会处理所有层。正确的做法应该是用 while(!q.empty()) 循环处理每一层。 class Solution { public:vector<int> rightSideView(TreeNode* root) {vector<int> res;queue<TreeNode…...
大模型评测框架evalscope、openCompass
一、evalscope使用说明 1、如何使用智增增的接口: VLLM_USE_MODELSCOPETrue evalscope eval \--model qwen2.5-14b-instruct \--api-url https://api.zhizengzeng.com/v1/chat/completions \--api-key skxxx \--eval-type service \--datasets gsm8k \--limit 10 …...
接口自动化——初识pytest
缩写单词含义.passed通过Ffailed失败(用例执行时报错)Eerror出错(fixture执行报错)sskipped跳过Xxpassed预期外的通过(不符合预期)xxfailed预期内的失败(符合预期) 1.pytest 配置 1…...