【强训笔记】day24

NO.1
在这里插入图片描述
思路:递归。

代码实现:

class Solution {
public:
    
    bool IsBalanced_Solution(TreeNode* pRoot) {
       return dfs(pRoot)!=-1;
    }

    int dfs(TreeNode* root)
    {
        if(root==nullptr) return 0;
        int left=dfs(root->left);
        if(left==-1) return -1;
        int right=dfs(root->right);
        if(right==-1) return -1;

        return abs(left-right)<=1?max(left,right)+1:-1;
    }
};

NO.2
在这里插入图片描述
算法思路:
⼆维前缀和矩阵的应⽤。
a. 初始化⼆维前缀和矩阵;
b. 枚举所有的⼦矩阵,求出最⼤⼦矩阵。

代码实现:

#include <iostream>
using namespace std;
const int N = 110;
int n;
int dp[N][N];
int main()
{
	int x;
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			cin >> x;
			dp[i][j] = dp[i - 1][j] + dp[i][j - 1] - dp[i - 1][j - 1] + x;
		}
	}
	int ret = -127 * N;
	for (int x1 = 1; x1 <= n; x1++)
	{
		for (int y1 = 1; y1 <= n; y1++)
		{
			for (int x2 = x1; x2 <= n; x2++)
			{
				for (int y2 = y1; y2 <= n; y2++)
				{
					ret = max(ret, dp[x2][y2] - dp[x1 - 1][y2] - dp[x2][y1 -
						1] + dp[x1 - 1][y1 - 1]);
				}
			}
		}
	}
	cout << ret << endl;
	return 0;
}

NO.3
在这里插入图片描述
思路:滑动窗口,分别统计字符串中和窗口内0和1的数量,当窗口内字符串的数量为原字符串的一半,且该窗口内0和1的数量是外面字符串中0和1数量的一半时,就有两种方法。

代码实现:

#include <iostream>
#include <string>

using namespace std;
int n;
string s;
int main()
{
	cin >> n >> s;
	int sum[2] = { 0 }; // 统计字符串中所有 0 和 1 的个数
	for (auto ch : s)
	{
		sum[ch - '0']++;
	}

	int left = 0, right = 0, ret = 0, half = n / 2;
	int count[2] = { 0 }; // 统计窗⼝内 0 和 1 的个数
	while (right < n - 1) // 细节问题
	{
		count[s[right] - '0']++;
		while (right - left + 1 > half)
		{
			count[s[left++] - '0']--;
		}
		if (right - left + 1 == half)
		{
			if (count[0] * 2 == sum[0] && count[1] * 2 == sum[1])
			{
				ret += 2;
			}
		}
		right++;
	}

	cout << ret << endl;

	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/656355.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何使用甘特图来做任务管理?zz-plan甘特图的实践指南

在项目管理和任务调度中&#xff0c;甘特图是一种非常实用的工具&#xff0c;它可以帮助团队成员清晰地规划、执行和跟踪项目进度。然而&#xff0c;如何有效利用甘特图进行任务管理&#xff0c;对于许多团队来说仍然是一个挑战。本文将结合 zz-plan https://zz-plan.com/ 甘特…

jmeter服务器性能监控分析工具ServerAgent教程

ServerAgent介绍&#xff1a;支持监控CPU&#xff0c;memory&#xff0c;磁盘&#xff0c;网络等&#xff0c;和JMeter集成&#xff0c;在JMeter的图形界面中&#xff0c;可以实时看到监控的数据&#xff0c;但是&#xff0c;它只能监控硬件资源使用情况。 不能监控应用服务 S…

天若OCR 识别 (本地文字识别转换工具)

前言 天若OCR文字识别本地版是一款在天若OCR文字识别工具v5.0免费开源版的基础上采用Chinese-lite框架和Paddle-ocr框架本地化识别接口编译而成,无需联网也无需申请密钥&#xff0c;纯本地运算&#xff0c;识别准确度和速度很快&#xff0c;操作和天若OCR免费版一样&#xff0…

解决:error: failed to push some refs to ‘https://gitee.com/***/***.git‘(高效快速)

解决方案&#xff1a; git pull --rebase origin master 具体原因&#xff1a; 主要原因是gitee(github)中的README.md文件不在本地代码目录中 要执行git pull --rebase origin master命令将README.md拉到本地 然后就可以执行git push啦 写在最后&#xff1a; 要是问题得到…

实验四 网络的路径与连通性

文章目录 4.1 网络的路径与连通性第1关&#xff1a;路径与初始距离矩阵的构建第2关&#xff1a;由网络邻接矩阵求初始距离矩阵方法第3关&#xff1a;网络中任意两点的最短路径求解 4.2 网络连通性第1关&#xff1a;网络节点间的可达性判断第2关&#xff1a;邻接矩阵转换可达矩阵…

Java基础之 API 字符串

文章目录 API字符串String概述创建对象 java的内存模型java的常用方法(比较)练习 API 概念: APl(Application ProgrammingInterface): 应用程序编程接口 简单理解: API就是别人已经写好的东西&#xff0c;我们不需要自己编写&#xff0c;直接使用即可。 Java API: 指的就是J…

Ubuntu20.04安装ffmpeg,并捕获视频流

工控机&#xff1a;幻影峡谷 系统&#xff1a;Ubuntu20.04 摄像头&#xff1a;杰瑞微通环星光USB摄像头记录一下使用ffmpeg拉取视频流的原因&#xff1a;刚开始用的是ubuntu系统自带的 茄子 软件&#xff0c;但是视频流很卡&#xff08;非常卡&#xff0c;基本上不能用&#xf…

springboot2+mybatis-plus+vue3创建入门小项目[学生管理系统]02[实战篇]

01学习篇 创建一个 vue 项目 创建这个新的文件夹 创建前端项目 eggbox 数据库 SQL CREATE DATABASE IF NOT EXISTS egg DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; USE egg;CREATE TABLE stu (id INT AUTO_INCREMENT, -- 自增主键name VARCHAR(64) NOT NULL, -- 非空…

超级初始网络

目录 一、网络发展史 1、独立模式 2、局域网 LAN&#xff08;Local Area Network&#xff09; 3、广域网 WAN (Wide Area Network) 二、网络通信基础 1、IP地址&#xff1a;用于定位主机的网络地址 2、端口号&#xff1a;用于定位主机中的进程 3、网络协议 4、五元组 …

The First项目报告:解读ZK技术的跨链巨头Polyhedra Network

4 月 17 日&#xff0c;零知识证明&#xff08;ZK&#xff09;基础设施开发团队 Polyhedra Network与谷歌云达成战略合作&#xff0c;以响应 Web2 与 Web3 市场对于该技术日益增长的需求。双方将基于Polyhedra的尖端研究及专有算法通过谷歌云提供的零知识即服务向全球开发者开放…

基于LLM的优化器评测-非凸函数

基于LLM的优化器评测-非凸函数 目标函数测试结果测试代码测试日志 背景: ​ 很多时候我们需要为系统寻找最优的超参.比如模型训练,推理的量化等.本文尝试将LLM当成优化器,帮忙我们寻找最优的超参. 验证方法: 1.设计一个已知最优解的多项式,该多项式有3个变量(因为3个变量可以…

温故而知新-Spring篇【面试复习】

温故而知新-Spring篇【面试复习】 前言版权推荐温故而知新-Spring篇IOCAOP循环依赖springboot如果要对属性文件中的账号密码加密如何实现&#xff1f;SpringBoot的优点Spring Boot 的核心注解是哪个&#xff1f;它主要由哪几个注解组成的&#xff1f; 最后 前言 2023-7-31 15:…

MX Component基础使用(多点位读取,多点位写入)

步骤&#xff0c;先连接PLC&#xff0c;然后在填入对应的点位 D10 然后去读取。 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;us…

微信小程序进阶(1)--自定义组件

自定义组件 1.1 什么是自定义组件 开发文档&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/ 小程序中常常会有些通用的交互模块&#xff0c;比如&#xff1a;下拉选择列表、搜索框、日期选择器等&#xff1b;这些界面交互模块可…

FPGA DMA技术分享(赋能高速数据处理的新动力介绍篇)

一、引言 在现代数字信号处理系统中&#xff0c;数据的高速、高效传输与处理是关键。FPGA&#xff08;现场可编程门阵列&#xff09;以其高度的灵活性和并行处理能力&#xff0c;成为实现这一目标的理想平台。而DMA&#xff08;直接内存访问&#xff09;技术&#xff0c;作为FP…

Transformers x SwanLab:可视化NLP模型训练

HuggingFace 的 Transformers 是目前最流行的深度学习训框架之一&#xff08;100k Star&#xff09;&#xff0c;现在主流的大语言模型&#xff08;LLaMa系列、Qwen系列、ChatGLM系列等&#xff09;、自然语言处理模型&#xff08;Bert系列&#xff09;等&#xff0c;都在使用T…

MM模块六(收货)

接到供应商收到的货以后&#xff0c;进行一个收货的动作 收货&#xff1a;MIGO 1.消耗物料的采购订单 数量是供应商的数量 消耗物料的采购订单&#xff0c;收进来的货物直接进入消耗&#xff0c;不会增加库存&#xff0c;所以这里没有库存地点进行选择 点击过账 收货后在采购…

mysql手动新建数据库

点击号输入数据库名&#xff0c;端口号&#xff0c;密码&#xff0c;连接到sa数据库新建数据库&#xff0c;语言必须选择utf8mb4新建数据库用户给数据库用户设置对应权限给数据库用户勾选权限

利用迭代方法求解线性方程组(Matlab)

一、问题描述 利用迭代方法求解线性方程组。 二、实验目的 掌握Jacobi 方法和Gauss-Seidel 方法的原理&#xff0c;能够编写代码实现两种迭代方法&#xff1b;能够利用代码分析线性方程组求解中的误差情况。 三、实验内容及要求 用代码实现&#xff1a;对下列方程中重新组织…

区间选点问题-贪心-C++

问题&#xff1a; 给定 &#x1d441; 个闭区间 [ai,bi]&#xff0c;请你在数轴上选择尽量少的点&#xff0c;使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量。 位于区间端点上的点也算作区间内。 输入格式 第一行包含整数 &#x1d441;&#xff0c;表示区间数…