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

力扣题目训练(22)

2024年2月15日力扣题目训练

2024年2月15日力扣题目训练

2024年2月15日第二十二天编程训练,今天主要是进行一些题训练,包括简单题3道、中等题2道和困难题1道。惰性太强现在才完成,不过之后我会认真完成的,我会慢慢补回来,争取一天发两篇,把之前的都补上。

563. 二叉树的坡度

链接: 二叉树的坡度
难度: 简单
题目:
题目描述

运行示例:
运行示例

思路:
这道题就是遍历,统计左右子树节点之和的差值即可。
代码:

class Solution {
public:int ans = 0;int  dfs(TreeNode* root){if(root == NULL) return 0;int sumleft = dfs(root->left);int sumright= dfs(root->right);ans += abs(sumleft-sumright);return sumleft + sumright + root->val;}int findTilt(TreeNode* root) {dfs(root);return ans;}
};

637. 二叉树的层平均值

链接: 二叉树的层平均值
难度: 简单
题目:
题目描述

运行示例:
运行示例

思路:
这道题可以看出我们就是求每一层的平均值,所以我们可以采用层次遍历。

代码:

class Solution {
public:vector<double> averageOfLevels(TreeNode* root) {vector<double> ans;queue<TreeNode*> q;q.push(root);while(!q.empty()){double sum = 0;int n = q.size();for(int i = 0; i < n; i++){TreeNode* node = q.front();q.pop();sum += node->val;if(node->left != NULL) q.push(node->left);if(node->right != NULL) q.push(node->right);}ans.push_back(sum/n);}return ans;}
};

643. 子数组最大平均数 I

链接: 子数组最大平均数
难度: 简单
题目:
题目描述

运行示例:
运行示例

思路:
这道题我本来是直接暴力遍历的,但是时间超了,所以我看了题解有了启发,我采用了求前K项和然后从而得到平均值即题解提到的滑动窗口方法。
代码:

class Solution {
public:double findMaxAverage(vector<int>& nums, int k) {for(int i = 1; i < nums.size(); i++){nums[i] += nums[i-1];}double ans = (nums[k-1])/(double(k));for(int i = k; i < nums.size(); i++){double avg = (nums[i]-nums[i-k])/(double(k));ans = (ans > avg)?ans: avg;}return ans;}
};

链接:
难度: 中等
题目:
题目描述

运行示例:
运行示例

思路:
这道题可以看出是使用层次遍历来完成,故利用队列完成。
代码:


304. 二维区域和检索 - 矩阵不可变

链接: 二维区域和检索 - 矩阵不可变
难度: 中等
题目:
题目描述

运行示例:
运行示例

思路:
这道题就是统计求前项和,我们可以按照行进行统计从而减少计算量。此题与之前303. 区域和检索 - 数组不可变的类似。
代码:

class NumMatrix {
public:vector<vector<int>> sums;NumMatrix(vector<vector<int>>& matrix) {int  n = matrix.size();if(n > 0){int m = matrix[0].size();sums.resize(n,vector<int>(m+1));for(int i = 0; i < n; i++){for(int j = 0; j < m; j++){sums[i][j + 1] = sums[i][j] + matrix[i][j];}}}}int sumRegion(int row1, int col1, int row2, int col2) {int ans = 0;for(int i = row1; i <= row2; i++){ans += sums[i][col2+1] - sums[i][col1];}return ans;}
};

154. 寻找旋转排序数组中的最小值 II

链接: 最小值
难度: 困难
题目:
题目描述

运行示例:
运行示例

思路:
这道题其实数组本质还是存在升序的情况,数组中的最后一个元素 x:在最小值右侧的元素,它们的值一定都小于等于 x;而在最小值左侧的元素,它们的值一定都大于等于 x。因此,我们可以根据这一条性质,通过二分查找的方法找出最小值。
代码:

class Solution {
public:int findMin(vector<int>& nums) {int l = 0;int r = nums.size()-1;while(l < r){int mid = l + (r-l)/2;if(nums[mid] < nums[r]){r = mid;}else if(nums[mid] > nums[r]){l = mid+1;}else{r--;}}return nums[l];}
};

相关文章:

力扣题目训练(22)

2024年2月15日力扣题目训练 2024年2月15日力扣题目训练563. 二叉树的坡度637. 二叉树的层平均值643. 子数组最大平均数 I304. 二维区域和检索 - 矩阵不可变154. 寻找旋转排序数组中的最小值 II 2024年2月15日力扣题目训练 2024年2月15日第二十二天编程训练&#xff0c;今天主要…...

[ROS 系列学习教程] rosbag Python API

ROS 系列学习教程(总目录) 本文目录 1. 构造函数与关闭文件2. 属性值3. 写bag文件内容4. 读bag文件内容5. 将bag文件缓存写入磁盘6. 重建 bag 文件索引7. 获取bag文件的压缩信息8. 获取bag文件的消息数量9. 获取bag文件记录的起止时间10. 获取话题信息与消息类型 rosbag 的 Pyt…...

TCL管理Vivado工程

文章目录 TCL管理Vivado工程1. 项目目录2. 导出脚本文件3. 修改TCL脚本3.1 project.tcl3.2 bd.tcl 4. 工程恢复 TCL管理Vivado工程 工程结构 1. 项目目录 config: 配置文件、coe文件等。doc: 文档fpga: 最后恢复的fpga工程目录ip: ip文件mcs: bit流文件等,方便直接使用src: .…...

R语言:microeco:一个用于微生物群落生态学数据挖掘的R包,第四:trans_beta class

trans_beta class&#xff1a;利用trans_beta类可以变换和绘制beta分集的距离矩阵。该类中涉及到beta多样性的分析主要包括排序、群距、聚类和方差分析。我们首先使用PCoA显示排序。 > dataset$cal_betadiv() The result is stored in object$beta_diversity ... > t1 &…...

Excel文件导入导出,SpringBoot整合EasyExcel批量导入导出,采用的JDBC+EasyExcel(附带整个Demo)

目录 0.为什么mybatis的foreach比JDBC的addBatch慢 1.引入依赖 2.Controller层 3.Service层 4.Utils工具类 5.自定义监听器 6.实体类 7Mapper层 不用Mybatis的原因就是因为在大量数据插入的时候jdbc性能比mybatis好1. 首先分批读取Excel中的数据 这一点EasyExcel有自己…...

Git——本地使用详解

目录 Git1、开始版本控制1.1、初始化Repository1.2、使目录脱离Git控制 2、把文件交给Git管控2.1、创建文件后交给Git2.2、git add之后再次修改文件2.3、git add "--all"与"."参数区别2.4、把暂存区的内容提交到存储库里存档 3、工作区、暂存区与存储库3.1…...

深度学习pytorch——Tensor维度变换(持续更新)

view()打平函数 需要注意的是打平之后的tensor是需要有物理意义的&#xff0c;根据需要进行打平&#xff0c;并且打平后总体的大小是不发生改变的。 并且一定要谨记打平会导致维度的丢失&#xff0c;造成数据污染&#xff0c;如果想要恢复到原来的数据形式&#xff0c;是需要…...

Selenium-webdriver_manager判断是否已经下载过驱动(复用缓存驱动)

1,谷歌浏览器默认位置 2&#xff0c;ChromeDriverManager 下载的驱动位置 其中admin为机器的用户名 def installDriver(self):"""判断是否需要下载driver""""""找到本机谷歌浏览器版本""""""C:\P…...

【SQL】1174. 即时食物配送 II (窗口函数row_number; group by写法;对比;定位错因)

前述 推荐学习&#xff1a; 通俗易懂的学会&#xff1a;SQL窗口函数 题目描述 leetcode题目&#xff1a;1174. 即时食物配送 II 写法一&#xff1a;窗口函数 分组排序&#xff08;以customer_id 分组&#xff0c;按照order_date 排序&#xff09;&#xff0c;窗口函数应用。…...

mvcc介绍

前提&#xff1a;在介绍mvcc之前&#xff0c;先简单介绍一下mysql事务的相关问题&#xff0c;mvcc归根结底是用来解决事务并发问题的&#xff0c;当然这个解决不是全部解决&#xff0c;只是解决了其中的一部分问题&#xff01; mysql事务 一、事务的基本要素&#xff08;ACID&a…...

强化PaaS平台应用安全:关键策略与措施

PaaS&#xff08;平台即服务&#xff0c;Platform-as-a-Service&#xff09;是一种云计算服务模式&#xff0c;可以为客户提供一个完整的云平台&#xff08;硬件、软件和基础架构&#xff09;以用于快捷开发、运行和管理项目&#xff0c;从而降低了企业云计算应用的高成本和复杂…...

K8s 集群高可用master节点ETCD挂掉如何恢复?

写在前面 很常见的集群运维场景&#xff0c;整理分享博文内容为 K8s 集群高可用 master 节点故障如何恢复的过程理解不足小伙伴帮忙指正 不必太纠结于当下&#xff0c;也不必太忧虑未来&#xff0c;当你经历过一些事情的时候&#xff0c;眼前的风景已经和从前不一样了。——村上…...

【Godot 4.2】常见几何图形、网格、刻度线点求取函数及原理总结

概述 本篇为ShapePoints静态函数库的补充和辅助文档。ShapePoints函数库是一个用于生成常见几何图形顶点数据&#xff08;PackedVector2Array&#xff09;的静态函数库。生成的数据可用于_draw和Line2D、Polygon2D等进行绘制和显示。因为不断地持续扩展&#xff0c;ShapePoint…...

如何利用POI导出报表

一、报表格式 二、依赖坐标 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.16</version> </dependency> <dependency><groupId>org.apache.poi</groupId><art…...

自动部署SSL证书到阿里云腾讯云CDN

项目地址&#xff1a;https://github.com/yxzlwz/ssl_update 项目简介 目前&#xff0c;自动申请和管理免费SSL证书的项目有很多&#xff0c;如个人正在使用的 acme.sh。然而在申请后&#xff0c;如果我们的需求不仅限于服务器本地的使用&#xff0c;证书的部署也是一件麻烦事…...

【系统性】 循序渐进学C++

循序渐进学C 第一阶段&#xff1a;基础 一、环境配置 1.1.第一个程序&#xff08;基本格式&#xff09; ​ #include <iosteam> using namespace std;int main(){cout<<"hello world"<<endl;system("pause"); }​ 模板 #include &…...

rust - 一个日志缓存记录的通用实现

本文给出了一个通用的设计模式&#xff0c;通过建造者模式实例化记录对象&#xff0c;可自定义格式化器将实例化后的记录对象写入到指定的缓存对象中。 定义记录对象 use chrono::prelude::*; use std::{cell::RefCell, ffi::OsStr, fmt, io, io::Write, path::Path, rc::Rc,…...

elasticsearch(RestHighLevelClient API操作)(黑马)

操作全是换汤不换药&#xff0c;创建一个request&#xff0c;然后使用client发送就可以了 一、增加索引库数据 Testvoid testAddDocument() throws IOException {//从数据库查出数据Writer writer writerService.getById(199);//将查出来的数据处理成json字符串String json …...

用尾插的思想实现移除链表中的元素

目录 一、介绍尾插 1.链表为空 2.链表不为空 二、题目介绍 三、思路 四、代码 五、代码解析 1. 2. 3. 4. 5. 6. 六、注意点 1. 2. 一、介绍尾插 整体思路为 1.链表为空 void SLPushBack(SLTNode** pphead, SLTDataType x) {SLTNode* newnode BuyLTNode(x); …...

【Kubernetes】k8s删除master节点后重新加入集群

目录 前言一、思路二、实战1.安装etcdctl指令2.重置旧节点的k8s3.旧节点的的 etcd 从 etcd 集群删除4.在 master03 上&#xff0c;创建存放证书目录5.把其他控制节点的证书拷贝到 master01 上6.把 master03 加入到集群7.验证 master03 是否加入到 k8s 集群&#xff0c;检查业务…...

BurpSuite+SqlMap深度集成:构建高可信SQL注入检测流水线

1. 这不是“点几下就出结果”的玩具&#xff0c;而是你真正能放进渗透流程里的SQL注入检测流水线很多人第一次看到“BurpSuiteSqlMap插件5分钟搞定SQL注入检测”这个标题&#xff0c;第一反应是&#xff1a;又一个标题党&#xff1f;点开全是截图堆砌、参数照抄、报错就卡住的半…...

C51对Maxim 390远内存绝对地址访问的三种方案

1. 深入解析C51对Maxim 390远内存的绝对地址访问 在嵌入式开发中&#xff0c;对特定内存地址的直接操作是底层控制的关键技术。以Maxim&#xff08;原Dallas Semiconductor&#xff09;DS80C390为代表的增强型8051架构&#xff0c;其24位地址空间的远内存&#xff08;Far Memor…...

3大核心模块+5步实战:用RPFM彻底改变《全面战争》模组开发体验

3大核心模块5步实战&#xff1a;用RPFM彻底改变《全面战争》模组开发体验 【免费下载链接】rpfm Rusted PackFile Manager (RPFM) is a... reimplementation in Rust and Qt6 of PackFile Manager (PFM), one of the best modding tools for Total War Games. 项目地址: http…...

《当下的力量》前三章深度解读:从思维奴隶到临在大师的觉醒之路

《当下的力量》前三章深度解读&#xff1a;从思维奴隶到临在大师的觉醒之路这是一本不能用大脑读的书&#xff0c;这是一本需要用生命去体验的书。——张德芬前言 在这个信息爆炸、节奏飞快的时代&#xff0c;我们似乎永远活在过去的遗憾和未来的焦虑中。我们的大脑像一台永不停…...

June主题定制教程:从模板修改到样式定制的完整解决方案

June主题定制教程&#xff1a;从模板修改到样式定制的完整解决方案 【免费下载链接】june June is a forum (Deprecated) 项目地址: https://gitcode.com/gh_mirrors/ju/june June是一款开源论坛项目&#xff0c;通过本教程你将学习如何轻松定制June论坛的主题外观&…...

碧蓝航线Alas自动化脚本:解放双手的终极游戏助手

碧蓝航线Alas自动化脚本&#xff1a;解放双手的终极游戏助手 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研&#xff0c;全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript 你是否厌倦了每…...

实战避坑:在Linux服务器上配置PTP(ptp4l)实现微秒级时间同步的完整流程

实战避坑&#xff1a;在Linux服务器上配置PTP&#xff08;ptp4l&#xff09;实现微秒级时间同步的完整流程在分布式系统、金融交易和高频计算场景中&#xff0c;毫秒级的时间同步早已无法满足需求。当系统需要跨多个节点协调操作时&#xff0c;微秒级甚至纳秒级的时间同步成为刚…...

量子LDPC码与横向门技术的突破与应用

1. 量子LDPC码与横向门技术概述量子低密度奇偶校验&#xff08;qLDPC&#xff09;码作为量子纠错领域的重要突破&#xff0c;近年来在容错量子计算中展现出独特优势。这类码字通过稀疏校验矩阵实现高效纠错&#xff0c;其核心价值在于&#xff1a;常数编码率&#xff1a;逻辑量…...

DMA优化与MIMO系统性能分析:6G通信关键技术

1. DMA优化与MIMO系统性能分析概述动态超表面天线&#xff08;Dynamic Metasurface Antenna, DMA&#xff09;作为6G通信系统的关键技术突破&#xff0c;正在重新定义大规模MIMO系统的设计范式。与传统的相控阵天线相比&#xff0c;DMA通过可编程的超表面单元实现对电磁波的精确…...

仿真数据与真实数据:机器人训练的数据策略选择

仿真数据与真实数据&#xff1a;机器人训练的数据策略选择摘要&#xff1a;仿真数据和真实数据各有优劣&#xff0c;如何选择和配比直接影响训练效果和项目成本。本文从数据特性、适用场景、配比策略三个维度给出系统分析&#xff0c;并提供Sim-to-Real迁移的工程化方案。关键词…...