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

算法刷题记录——LeetCode篇(2.10) [第191~200题](持续更新)

更新时间:2025-04-04

  • 算法题解目录汇总:算法刷题记录——题解目录汇总
  • 技术博客总目录:计算机技术系列博客——目录页

优先整理热门100及面试150,不定期持续更新,欢迎关注!


198. 打家劫舍

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。

给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。

示例 1:

输入:[1,2,3,1]
输出:4

解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。

示例 2:

输入:[2,7,9,3,1]
输出:12

解释:偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。偷窃到的最高金额 = 2 + 9 + 1 = 12 。

提示:

  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 400

方法一:动态规划(空间优化)

使用动态规划,由于每个状态只依赖于前两个状态的值,可以用两个变量保存前两个状态,优化空间复杂度到 O(1)。

  1. 处理边界情况(数组长度为0或1)。
  2. 初始化前两个状态。
  3. 遍历数组,逐个计算当前最大值并更新状态。

代码实现(Java):

public class Solution {public int rob(int[] nums) {int n = nums.length;if (n == 0) return 0;if (n == 1) return nums[0];int prevPrev = nums[0];int prev = Math.max(nums[0], nums[1]);for (int i = 2; i < n; i++) {int current = Math.max(prev, prevPrev + nums[i]);prevPrev = prev;prev = current;}return prev;}
}

方法二:动态规划(数组存储)

思路:
定义一个数组 dp,其中 dp[i] 表示偷到第 i 个房屋时的最大金额。状态转移方程为:dp[i] = max(dp[i-1], dp[i-2] + nums[i])

步骤:

  1. 处理边界情况。
  2. 初始化 dp 数组的前两个元素。
  3. 遍历数组,填充 dp 数组。

代码实现(Java):


public class Solution {public int rob(int[] nums) {if (nums == null || nums.length == 0) return 0;int n = nums.length;if (n == 1) return nums[0];int[] dp = new int[n];dp[0] = nums[0];dp[1] = Math.max(nums[0], nums[1]);for (int i = 2; i < n; i++) {dp[i] = Math.max(dp[i - 1], dp[i - 2] + nums[i]);}return dp[n - 1];}
}

方法三:记忆化递归

思路:
自顶向下递归,使用记忆化存储已计算的结果,避免重复计算。递归函数返回从当前位置开始能偷到的最大金额。

步骤:

  1. 初始化记忆数组。
  2. 递归计算每个位置的最大值,保存结果。

代码实现(Java):


public class Solution {public int rob(int[] nums) {int[] memo = new int[nums.length];Arrays.fill(memo, -1);return robHelper(nums, 0, memo);}private int robHelper(int[] nums, int start, int[] memo) {if (start >= nums.length) return 0;if (memo[start] != -1) return memo[start];int res = Math.max(robHelper(nums, start + 1, memo), nums[start] + robHelper(nums, start + 2, memo));memo[start] = res;return res;}
}

复杂度分析

  • 动态规划(空间优化): 时间复杂度 O(n),空间复杂度 O(1)。通过变量滚动更新,节省空间。
  • 动态规划(数组存储): 时间复杂度 O(n),空间复杂度 O(n)。直观记录每个位置的最高金额。
  • 记忆化递归: 时间复杂度 O(n),空间复杂度 O(n)。递归树深度为 n,记忆化避免重复计算。

199. 二叉树的右视图

给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

示例 1:

输入:root = [1,2,3,null,5,null,4]
输出:[1,3,4]

示例 2:

输入:root = [1,2,3,4,null,null,null,5]
输出:[1,3,4,5]

示例 3:

输入:root = [1,null,3]
输出:[1,3]

示例 4:

输入:root = []
输出:[]

提示:

  • 二叉树的节点个数的范围是 [0,100]
  • -100 <= Node.val <= 100

方法一:BFS层次遍历法

  • 核心思想:进行标准层次遍历,每层遍历结束后,最后一个出队的节点即为该层最右可见节点。
  • 实现要点:使用队列进行广度优先遍历,维护当前层节点数,收集每层末尾节点。

代码实现(Java):

class Solution {public List<Integer> rightSideView(TreeNode root) {List<Integer> result = new ArrayList<>();if (root == null) return result;Queue<TreeNode> queue = new LinkedList<>();queue.offer(root);while (!queue.isEmpty()) {int levelSize = queue.size();for (int i = 0; i < levelSize; i++) {TreeNode node = queue.poll();// 每层的最后一个节点加入结果集if (i == levelSize - 1) result.add(node.val);if (node.left != null) queue.offer(node.left);if (node.right != null) queue.offer(node.right);}}return result;}
}

方法二:DFS右优先递归法

  • 核心思想:按照「根→右→左」的顺序遍历,每个深度首次访问的节点即为该层最右节点。
  • 实现要点:递归时优先处理右子树,利用结果列表长度与深度的关系判断是否首次访问该层。

代码实现(Java):

class Solution {public List<Integer> rightSideView(TreeNode root) {List<Integer> result = new ArrayList<>();dfs(root, 0, result);return result;}private void dfs(TreeNode node, int depth, List<Integer> result) {if (node == null) return;// 当前深度首次访问的节点即为右视图节点if (depth == result.size()) result.add(node.val);dfs(node.right, depth + 1, result); // 先右后左确保右优先dfs(node.left, depth + 1, result);}
}

复杂度分析

  1. BFS层次遍历法

    • 时间复杂度O(n) ,每个节点入队出队一次;
    • 空间复杂度O(n) ,队列存储最多n节点。
  2. DFS右优先递归法

    • 时间复杂度O(n) ,每个节点访问一次;
    • 空间复杂度O(h) ,递归栈深度为树高h

对比总结

  • 遍历顺序:BFS按层扫描天然适合收集层信息,DFS通过调整访问顺序模拟右视图。
  • 空间效率:BFS空间复杂度为最宽层的节点数,DFS为树的高度,对非平衡树更高效。

200. 岛屿数量

给你一个由 '1'(陆地)'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。
岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。
此外,你可以假设该网格的四条边均被水包围。

示例 1:

输入:grid = [["1","1","1","1","0"],["1","1","0","1","0"],["1","1","0","0","0"],["0","0","0","0","0"]
]
输出:1

示例 2:

输入:grid = [["1","1","0","0","0"],["1","1","0","0","0"],["0","0","1","0","0"],["0","0","0","1","1"]
]
输出:3

提示:

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 300
  • grid[i][j] 的值为 '0' 或 '1'

方法一:深度优先搜索(DFS)

  • 核心思想:从起点出发,尽可能深地探索相邻节点,遇到边界或水域时回溯。
  • 实现方式:递归遍历上下左右四个方向,将访问过的陆地标记为水域('0')

代码实现(Java):

class Solution {public int numIslands(char[][] grid) {int count = 0;for (int i = 0; i < grid.length; i++) {for (int j = 0; j < grid[0].length; j++) {if (grid[i][j] == '1') {dfs(grid, i, j);count++;}}}return count;}private void dfs(char[][] grid, int i, int j) {if (i < 0 || j < 0 || i >= grid.length || j >= grid[0].length || grid[i][j] != '1') {return;}grid[i][j] = '0'; // 标记为已访问dfs(grid, i - 1, j); // 上dfs(grid, i + 1, j); // 下dfs(grid, i, j - 1); // 左dfs(grid, i, j + 1); // 右}
}

方法二:广度优先搜索(BFS)

  • 核心思想:从起点出发,逐层扩展探索相邻节点。
  • 实现方式:使用队列存储待处理节点,每次处理一层节点,确保按层序标记所有相连陆地。

代码实现(Java):

class Solution {public int numIslands(char[][] grid) {int count = 0;int m = grid.length;int n = grid[0].length;for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (grid[i][j] == '1') {bfs(grid, i, j);count++;}}}return count;}private void bfs(char[][] grid, int i, int j) {Queue<int[]> queue = new LinkedList<>();queue.offer(new int[]{i, j});grid[i][j] = '0'; // 标记起点为已访问int[][] dirs = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}}; // 方向数组while (!queue.isEmpty()) {int[] curr = queue.poll();for (int[] dir : dirs) {int x = curr[0] + dir[0];int y = curr[1] + dir[1];// 检查边界和是否未访问if (x >= 0 && x < grid.length && y >= 0 && y < grid[0].length && grid[x][y] == '1') {grid[x][y] = '0'; // 标记为已访问queue.offer(new int[]{x, y});}}}}
}

复杂度分析

  1. DFS(深度优先搜索)

    • 时间复杂度O(m×n),每个节点仅访问一次。
    • 空间复杂度:最坏情况下为 O(m×n)(递归栈深度)。
  2. BFS(广度优先搜索)

    • 时间复杂度O(m×n),每个节点处理一次。
    • 空间复杂度O(min(m, n)),队列最坏情况下存储对角线节点。

对比总结

方法优点缺点适用场景
DFS代码简洁,实现直观可能栈溢出(深递归时)小规模网格或树形结构
BFS无栈溢出风险需要额外队列空间大规模网格或要求稳定性

声明

  1. 本文版权归 CSDN 用户 Allen Wurlitzer 所有,遵循CC-BY-SA协议发布,转载请注明出处。
  2. 本文题目来源 力扣-LeetCode ,著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

相关文章:

算法刷题记录——LeetCode篇(2.10) [第191~200题](持续更新)

更新时间&#xff1a;2025-04-04 算法题解目录汇总&#xff1a;算法刷题记录——题解目录汇总技术博客总目录&#xff1a;计算机技术系列博客——目录页 优先整理热门100及面试150&#xff0c;不定期持续更新&#xff0c;欢迎关注&#xff01; 198. 打家劫舍 你是一个专业的…...

蓝桥杯备赛 Day 19 加练dfs

是否需要回溯? 输入参数有哪几个(当前dfs和下一个dfs什么会变?)&#xff1f; 是否需要返回值? 一.1158: 八皇后 P1158 - 八皇后 - New Online Judge (ecustacm.cn) 学习: 1.dfs输入为层数&#xff0c;即行号i&#xff0c;因为是每行只放一个&#xff0c;下一个dfs就是i1 2…...

蓝桥杯-卡java排序

问题描述 本题是一道针对 Java 中 Arrays.sort 的题目&#xff0c;因此只有一个数据&#xff0c;该数据可以把 int 类型的数组在使用 Arrays.sort 后卡成 O(n2)O(n2)。 给定一个有 nn 个正整数的序列 aa&#xff0c;你需要将其升序排序后输出。 输入格式 第一行输入一个正整…...

内存管理模块

在 Linux 内核中&#xff0c;内存管理是一个复杂而关键的组成部分。内核空间的虚拟地址被划分为多个区域&#xff0c;每个区域有其特定的用途和映射机制。本文将详细介绍 直接映射区&#xff08;Direct Mapping Area&#xff09;、vmalloc 区、永久内核映射区&#xff08;Perma…...

Spring RestTemplate修仙指南:从HTTP萌新到请求大能的终极奥义

各位在Spring生态摸爬滚打的道友们&#xff01;今天要解锁的是Spring官方御用HTTP法宝——RestTemplate&#xff01;这货堪称Java界的"御剑飞行术"&#xff0c;虽然官方已推荐WebClient接棒&#xff0c;但江湖上仍有80%项目在用这员老将&#xff01;准备好一键起飞了…...

cpp经典数论问题

题目如下 思路 代码如下...

Redis 线程模型:单线程也能快如闪电?

目录 一、核心思想&#xff1a;快刀斩乱麻的“单线程”高手 &#x1f9b8;‍♂️二、为什么是“单线程”&#xff1f;&#x1f914;三、单线程如何做到高性能&#xff1f;✨ “I/O 多路复用”是关键&#xff01;四、真的一直都只有“一个线程”吗&#xff1f;并不完全是&#x…...

游戏引擎学习第208天

运行游戏并回顾我们的情况 今天&#xff0c;我们将继续完成之前中断的调试输出工作。最近的工作偏离了一些&#xff0c;展示了如何进行元编程的实践&#xff0c;主要涉及了一个小的解析器。尽管这个解析器本身是一个玩具&#xff0c;但它展示了如何完成一个完整的循环&#xf…...

JavaScript箭头函数介绍(=>)(箭头函数不绑定自己的this,而是继承上下文的this;不能用于造函数)JavaScript =>

文章目录 JavaScript箭头函数全解析箭头函数的基本语法简洁语法特性隐式返回值对象字面量返回 词法绑定的this不适用箭头函数的场景对象方法构造函数DOM事件处理 高级用法在数组方法中的应用链式调用柯里化函数 性能考量1. 作为回调函数时减少创建闭包的开销2. 简化代码结构&am…...

数据对象:DTO、DO、PO和 BO的区别和关系

在Java开发中&#xff0c;DTO&#xff08;Data Transfer Object&#xff09;、DO&#xff08;Domain Object&#xff09;、PO&#xff08;Persistent Object&#xff09;和BO&#xff08;Business Object&#xff09;是常用的数据对象概念&#xff0c;下面为你详细介绍并给出简…...

Java内存模型详解:堆、栈、方法区

1. 堆&#xff08;Heap&#xff09; 作用&#xff1a;存放所有对象实例及数组&#xff0c;是垃圾回收的主要区域。 结构&#xff1a; 新生代&#xff08;Young Generation&#xff09;&#xff1a; Eden区&#xff1a;新创建的对象首先分配在此。 Survivor区&#xff08;From…...

ubuntu 20.04 编译运行LeGo_LOAM 跑数据集 并且保存pcl文件

1.搭建文件目录,clone代码,编译 mkdir -p Lego_LOAM/src cd Lego_LOAM/src git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git cd .. catkin_make -j1 错误1&#xff1a;: fatal error: opencv/cv.h: 没有那个文件或目录 13 | #include <opencv/cv.h…...

CMake使用教程

CMake是开源、跨平台的构建工具,可以让我们通过编写简单的配置文件去生成本地的Makefile,这个配置文件是独立于运行平台和编译器的,这样就不用亲自去编写Makefile了,而且配置文件可以直接拿到其它平台上使用,无需修改,非常方便。 使用命令行执行CMakeLists.txt,对文件进…...

快速上手Linux进程管理

一.理解进程和线程 1.1 什么是进程 它表示一个正在执行的程序实例。在操作系统中&#xff0c;进程是系统进行资源分配和调度的基本单位。每个进程都有自己独立的内存空间、代码、数据和系统资源&#xff0c;如打开的文件、使用的硬件设备等。 进程的主要特点包括&#xff1a…...

pytorch框架实现cnn四种天气图片多分类问题-添加dropout和bn层

目录 1.导包 2.加载数据、拼接训练、测试文件夹 3. 查看当前目录下的所有文件名,以列表的形式输出 4.原数据集dataset中存在的数据的目标类别 5.创建train和test目录 及其需要分类的子文件夹 6.使用torchvision 的transforms进行数据预处理 6.1数据统一缩放resize、To…...

swift-11-init、deinit、可选链、协议、元类型

一、required 二、属性观察器 三、可失败初始化器 可以用init!定义隐式解包的可失败初始化器 可失败初始化器可以调用非可失败初始化器&#xff0c;非可失败初始化器调用可失败初始化器需要进行解包 如果初始化器调用一个可失败初始化器导致初始化失败 &#xff0c;那么整个初…...

【力扣hot100题】(062)搜索插入位置

感觉自己对二分法还是没有很好掌握&#xff0c;主要在于边界问题&#xff0c;只会基本的搜索&#xff0c;如果要搜索比目标值大的第一个索引或者比目标值小的最后一个索引&#xff08;或者换一些花里胡哨的题目&#xff09;就完全不会了。 class Solution { public:int search…...

TCPIP详解 卷1协议 三 链路层

3.1——以太网和IEEE802局域网/城域网标准 以太网这个术语通常指一套标准&#xff0c;由DEC&#xff0c;Intel公司和Xerox公司在1980年首次发布&#xff0c;并在1982年加以修订。第一个常见格式的以太网&#xff0c;目前被称为10Mb/s以太网或共享以太网。它被IEEE采纳为802.3标…...

以太网安全

前言&#xff1a; 端口隔离可实现同一VLAN内端口之间的隔离。用户只需要将端口加入到隔离组中&#xff0c;就可以实现隔离组内端口之间的二层数据的隔离端口安全是一种在交换机接入层实施的安全机制&#xff0c;旨在通过控制端口的MAC地址学习行为&#xff0c;确保仅授权设备能…...

linux如何查看当前系统的资源占用情况

在 Linux 系统中&#xff0c;有多个命令可以查看当前系统的资源占用情况。以下是一些常用的命令及其说明&#xff1a; 1. 查看内存使用情况&#xff1a;free free -h-h 参数表示以人类可读的格式显示&#xff08;如 MB, GB&#xff09;。输出示例&#xff1a; to…...

人脸识别系统(人脸识别、前后端交互、Python项目)

基于Flask、Face_Recognition的人脸识别系统 项目介绍 基于flask、face_recognition的人脸识别系统。 本项目采用Face_Recognition库内置的ResNet-34预训练模型&#xff0c;其已对LFW公开数据集进行预训练而得到的模型。利用ResNet-34预训练模型&#xff0c;可使用少量已知人…...

2025 ArkTS语言开发入门之前言(二)

2025 ArkTS语言开发入门之前言&#xff08;二&#xff09; 前言 在上一节&#xff0c;咱们学习了如何下载并安装ArkTS的集成开发环境&#xff0c;这时候有的臭宝会发现&#xff0c;左边的这些叽里咕噜的是什么&#xff1f;下面&#xff0c;我来带着臭宝们来学习一下这些是什么…...

VLAN(虚拟局域网)

一、vlan概述 VLAN(virtual local area network)是一种通过逻辑方式划分网络的技术&#xff0c;允许将一个物理网络划分为多个独立的虚拟网络。每一个vlan是一个广播域&#xff0c;不同vlan之间的通信需要通过路由器或三层交换机 [!注意] vlan是交换机独有的技术&#xff0c;P…...

2025.4.6总结

今日记录&#xff1a;今天玩的有些累&#xff0c;先是去护肤店护理了脸部&#xff0c;然后去汉口江滩那看了看美景&#xff0c;吹吹江风。节假日去玩&#xff0c;光是挤一个半小时地铁都感觉累。还好上下班期间不用挤地铁&#xff0c;不然还真受不了。 假期小结 1.消费&#…...

【清明折柳】写在扬马三周目后

黄绿之间&#xff0c;方寸之外。 文章目录 楔子解耦到离散螃蟹与毒药文本的力量朝花夕拾后记 楔子 “——就像物理学家通过演绎与归纳将宏微世界的运转规律浓缩到数学公式中时&#xff0c;如今的人工智能也在试图量化整个人类文明。” “——只是&#xff0c;使用的是昂贵、笨…...

P1258 小车问题(二分)

题目描述 甲、乙两人同时从 A 地出发要尽快同时赶到 B 地。出发时 A 地有一辆小车&#xff0c;可是这辆小车除了驾驶员外只能带一人。已知甲、乙两人的步行速度一样&#xff0c;且小于车的速度。问&#xff1a;怎样利用小车才能使两人尽快同时到达。 输入格式 仅一行&#x…...

一个基于ragflow的工业文档智能解析和问答系统

工业复杂文档解析系统 一个基于ragflow的工业文档智能解析和问答系统,支持多种文档格式的解析、知识库管理和智能问答功能。 系统功能 1. 文档管理 支持多种格式文档上传(PDF、Word、Excel、PPT、图片等)文档自动解析和分块处理实时处理进度显示文档解析结果预览批量文档…...

负指数二项式展开

转载&#xff1a;负指数二项式展开_二项式负数次幂的展开式-CSDN博客...

CentOS 7服务器上快速安装mamba函数库

本次预配置虚拟环境为cuda 11.8torch 2.2.2python 3.10 1. 创建conda虚拟环境&#xff1a;conda create -n mamba python3.10 激活环境&#xff1a;conda activate mamba 2. 安装Pytorch环境&#xff1a; conda install pytorch2.2.2 torchvision0.17.2 torchaudio2.2.2 py…...

ResNet改进(18):添加 CPCA通道先验卷积注意力机制

1. CPCA 模块 CPCA(Channel Prior Convolutional Attention)是一种结合通道先验信息的卷积注意力机制,旨在通过显式建模通道间关系来增强特征表示能力。 核心思想 CPCA的核心思想是将通道注意力机制与卷积操作相结合,同时引入通道先验知识,通过以下方式优化特征学习: 通…...

代码随想录算法训练营--打卡day6

一.四数相加 1.题目链接 454. 四数相加 II - 力扣&#xff08;LeetCode&#xff09; 2.思路 使用 HashSet 无法记录每种和出现的次数&#xff0c;当不同的 (nums1[i], nums2[j]) 组合得到相同的和时&#xff0c;会出现统计错误。这里应该使用 HashMap 来记录和以及其出现的…...

edge webview2 runtime跟Edge浏览器软件安装包双击无反应解决方法

软件安装报错问题有需要远程文章末尾获取联系方式&#xff0c;可以帮你远程处理各类安装报错。 一 、edge webview2 runtime跟Edge浏览器软件安装包双击无反应 在安装edge webview2 runtime跟Edge浏览器双击无反应没有出现安装界面。这个可能是 新版本的Edge WebView2 Runti…...

Xorg 内存上涨的根源探究

Xorg 内存上涨的根源探究 起因 在同一客户端进程内显示多股视频源,通过SDL创建窗口渲染,由于网络抖动视频源出现频繁断流现象导致,渲染任务反复重启,从而导致SDL渲染窗口反复创建释放,最后导致Xorg内存持续上涨 排查准备 Xorg是什么? Xorg(X.Org Server)是 X Wind…...

Neo4j基本命令使用

neo4j neo4j简介安装可视化管理后台登录 Cyphercreatematchmergecreate创建关系merge创建关系wheredelete sort命令字符串函数toUpper()函数toLower()函数substring()函数replace()函数 聚合函数count()函数max()函数min()函数sum()函数avg()函数索引index python 中使用neo4j …...

Python爬虫教程009:requests的基本使用以及get和post请求的使用

文章目录 5.1 基本使用5.2 get请求5.3 post请求5.1 基本使用 在 Python 爬虫开发中,requests 是一个非常流行、简单易用的 HTTP 库,用于发送网络请求。它可以让你方便地抓取网页内容、提交表单、上传文件等。 🔧安装: pip install requestsresponse的属性及类型: resp…...

SQL练习

目录 1.查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数 2.查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩 3.查询在 SC 表存在成绩的学生信息 4.查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩(没成绩的显…...

ubuntu20.04 复现fastlio2 并运行数据包

1.搭建文件目录和拷贝代码 mkdir -p Fastlio2/src cd Fastlio2/src git clone https://github.com/hku-mars/FAST_LIO.git git clone https://github.com/Livox-SDK/livox_ros_driver.git 2.到工作空间下编译 cd .. catkin_make 报错1&#xff1a; 解决方案1&#xff1a; …...

Windows安装 PHP 8 和mysql9,win下使用phpcustom安装php8.4.5和mysql9

百度搜索官网并下载phpcustom&#xff0c;然后启动环境&#xff0c;点击网站管理 里面就有php8最新版&#xff0c;可以点mysql设置切mysql9最新版&#xff0c;如果你用最新版无法使用&#xff0c;说明你的php程序不支持最新版的mysql MySQL 9.0 引入了一些新的 SQL 模式和语法变…...

【失配树 KMP+树上倍增】P5829失配树|省选-

本文涉及知识点 较难理解的字符串查找算法KMP 树上倍增 P5829 【模板】失配树 题目描述 给定一个字符串 s s s&#xff0c;定义它的 k k k 前缀 p r e k \mathit{pre}_k prek​ 为字符串 s 1 … k s_{1\dots k} s1…k​&#xff0c; k k k 后缀 s u f k \mathit{suf}_…...

机器学习模型性能提升教程(特征工程和模型优化)

特征工程和模型优化是提升机器学习模型性能的核心步骤&#xff0c;以下从特征工程和模型优化两个维度&#xff0c;结合具体案例展开说明&#xff1a; 一、特征工程 特征工程的核心目标是从原始数据中提取更有价值的信息&#xff0c;常见方法包括特征选择、特征构造和特征转换。…...

跨域问题前端解决

由于浏览器的同源策略&#xff0c;前后端分离的项目&#xff0c;调试的时候总是会遇到跨域的问题&#xff0c;这里通过修改前端代码解决跨域问题。 首先先查看前端代码的根目录下&#xff0c;有没有vue.config.js文件, 若有&#xff0c;使用方法1&#xff0c;若没有此文件&…...

每天五分钟深度学习框架pytorch:搭建LSTM完成时间序列的预测

本文重点 前面一篇文章我们使用了pytorch搭建了循环神经网络LSTM然后完成了手写字体识别的任务,本文我们使用LSTM完成一个时间序列的任务。 数据集介绍 数据集如图所示,其中有一列是时间,然后还有一列是对应时间的起飞航班数,它可以看成是一个时间序列,通过前面t时间的起…...

Autosar应用层开发基础——Arxml制作

Davinci软件的主要作用 (1) AUTOSAR 软件架构设计 图形化建模&#xff1a;支持 SWC&#xff08;Software Component&#xff09;设计、接口定义、端口连接等。 分层架构管理&#xff1a;清晰划分 应用层&#xff08;SWC&#xff09; 和 基础软件层&#xff08;BSW&#xff09…...

Word 页眉设置(不同章节不同页眉)

需求分析 要给文档设置页眉&#xff0c;但是要不同的页眉不同的页眉 问题点&#xff1a;一旦设置页眉 每个页眉都是一样的 现在要设置不一样的 设置了页眉但是整个文章的页眉都一样 问题解决 取消链接 前一节&#xff08;不和前面的页眉同步更新&#xff09; 小结 不同的…...

Redis的Java客户端的使用

Redis 的 Java 客户端使用 C 追求极致的性能, 而 Java没有这样的追求. Redis 在官网公开了所使用的应用层协议 (RESP). 任何一个第三方都可以通过这个协议, 来实现出一个和 Redis 服务器通信的客户端程序. 已经有很多大佬, 做好了库, 可以让我们直接调用 (不必关注 RESP 协议…...

双向链表示例

#include <stdio.h> #include <stdlib.h>// 定义双向链表节点结构体 typedef struct list {int data; // 数据部分struct list *next; // 指向下一个节点的指针struct list *prev; // 指向前一个节点的指针 } list_t;// 初始化链表&#xff0c;将链表的…...

Unity如何把一个物体下物体复制很多到别的物体下

C# 脚本批量复制 如果需批量复制到多个父物体下&#xff0c;推荐用脚本实现&#xff1a; using UnityEngine;public class CopyChildren : MonoBehaviour {// 原父物体&#xff08;拖拽赋值&#xff09;public Transform sourceParent;// 目标父物体数组&#xff08;可拖拽多个…...

Java Properties 类详解

Java Properties 类详解 Properties 是 Java 中用于处理 键值对配置文件 的特殊类&#xff0c;继承自 Hashtable<Object,Object>。以下是其核心知识点&#xff1a; 1. 核心特性 特性说明存储格式纯文本文件&#xff08;.properties&#xff09;&#xff0c;每行 keyval…...

进程内存分布--之理论知识

一个由C/C编译的程序占用的内存分为以下几个部分 &#xff1a; 1、栈区&#xff08;stack&#xff09;&#xff1a;由编译器自动分配释放 &#xff0c;存放函数调用函数的参数值&#xff0c;局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区&#xff08;heap&#xf…...

TDengine 窗口预聚集

简介 在大数据量场景下&#xff0c;经常需要查询某段时间内的汇总结果&#xff0c;当历史数据变多或者时间范围变大时&#xff0c;查询时间也会相应增加。通过预聚集的方式可以将计算结果提前存储下来&#xff0c;后续查询可以直接读取聚集结果&#xff0c;而不需要扫描原始数…...