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

算法妙妙屋-------2..回溯的奇妙律动

回溯算法是一种用于系统性地搜索和解决问题的算法,它以深度优先搜索(DFS)为基础,用来探索所有可能的解决方案。通过递归地尝试候选解并在必要时回退(即“回溯”),它能够高效地解决许多涉及组合、排列和分割问题的场景。

在这里插入图片描述

核心思想

  1. 递归:回溯算法通常以递归方式实现,每次深入问题的一个分支。
  2. 状态空间树:将问题抽象成一个树形结构,每个节点代表一个部分解或状态。
  3. 剪枝:在探索过程中,提前排除不可能的解以减少计算量。
  4. 回退:当某一条路径无法产生有效解时,返回上一步并尝试其他路径。

典型应用

  • 排列与组合问题:如求全排列、子集生成。
  • 路径搜索问题:如迷宫问题、数独求解。
  • 优化问题:如0/1背包问题。
  • 约束满足问题:如八皇后问题、图着色问题。

算法流程

  1. 选择:选择一个可能的路径或解分支。
  2. 约束检查:判断当前选择是否满足问题的约束条件。
  3. 递归搜索:继续深入探索下一个状态。
  4. 回溯:若当前选择无效,则返回上一步重新选择。

优势与不足

  • 优势:实现简单,适合解决所有可能解的穷举问题。
  • 不足:在问题规模较大时,计算复杂度可能过高,需要结合剪枝优化。

简单示例(伪代码):

def backtrack(path, options):if 满足结束条件:记录结果returnfor option in options:做选择backtrack(新的路径, 剩余选择)撤销选择

通过以上步骤,回溯算法能够在复杂解空间中寻找问题的最优解或所有可能解。

1.单词搜索

题目链接:单词搜索

在这里插入图片描述
解题思路:

  • 1.将整个数组向外扩充一环(避免讨论边缘问题
  • 2.进行深度优先搜索
class Solution {
public:bool dfs(vector<vector<char>>& square, string word,int position,int i,int j,vector<vector<bool>>& check)
{if(position==word.size())return true;if(square[i][j+1]==word[position]&&!check[i][j+1])//判断右{check[i][j+1]=true;if(dfs(square, word,position+1,i,j+1,check)){return true;//这种类型的题目需要return,因为只需查找一个即可满足题意。}else{check[i][j+1]=false;}}if(square[i][j-1]==word[position]&&!check[i][j-1])//判断左{check[i][j-1]=true;if(dfs(square, word,position+1,i,j-1,check)){return true;}else{check[i][j-1]=false;}}if(square[i+1][j]==word[position]&&!check[i+1][j])//判断下{check[i+1][j]=true;if(dfs(square, word,position+1,i+1,j,check)){return true;}else{check[i+1][j]=false;}}if(square[i-1][j]==word[position]&&!check[i-1][j])//判断上{check[i-1][j]=true;if(dfs(square, word,position+1,i-1,j,check)){return true;}else{check[i-1][j]=false;}}return false;
}bool exist(vector<vector<char>>& board, string word) {int row=board.size();int line=board[0].size();vector<vector<bool>>check(row+2,vector<bool>(line+2,false));//初始化二维数组vector<vector<char>>square(row+2,vector<char>(line+2,'0'));for(int i=1;i<row+1;i++){for(int j=1;j<line+1;j++){square[i][j]=board[i-1][j-1];}}for(int i=1;i<row+1;i++){for(int j=1;j<line+1;j++){if(square[i][j]==word[0]){check[i][j]=true;if(dfs(square,word,1,i,j,check)){return true;}check[i][j]=false;  //恢复现场}}}return false;}
};

2.黄金矿工

题目链接:黄金矿工

在这里插入图片描述
解题思路:

  • 枚举矩阵中所有的位置当成起点,来⼀次深度优先遍历,统计出所有情况下能收集到的⻩⾦数的最⼤值即可。
class Solution {
public:int maximum=0;int sum=0;void dfs(vector<vector<int>>& square,int i,int j,vector<vector<bool>>& check)//不需要return,因为要全部遍历一遍才能找到最优解{if(square[i][j+1]!=0&&!check[i][j+1])//判断右{check[i][j+1]=true;sum+=square[i][j+1];dfs(square,i,j+1,check);check[i][j+1]=false;sum-=square[i][j+1];}if(square[i][j-1]!=0&&!check[i][j-1])//判断左{check[i][j-1]=true;sum+=square[i][j-1];dfs(square,i,j-1,check);check[i][j-1]=false;sum-=square[i][j-1];}if(square[i+1][j]!=0&&!check[i+1][j])//判断下{check[i+1][j]=true;sum+=square[i+1][j];dfs(square,i+1,j,check);check[i+1][j]=false;sum-=square[i+1][j];}if(square[i-1][j]!=0&&!check[i-1][j])//判断上{check[i-1][j]=true;sum+=square[i-1][j];dfs(square,i-1,j,check);check[i-1][j]=false;sum-=square[i-1][j];}maximum=max(sum,maximum);//每一次dfs走到底的时候就进行比较,保留最大值}int getMaximumGold(vector<vector<int>>& grid) {int row=grid.size();int line=grid[0].size();vector<vector<bool>>check(row+2,vector<bool>(line+2,false));//初始化二维数组vector<vector<int>>square(row+2,vector<int>(line+2,0));for(int i=1;i<row+1;i++){for(int j=1;j<line+1;j++){square[i][j]=grid[i-1][j-1];}}for(int i=1;i<row+1;i++){for(int j=1;j<line+1;j++){if(square[i][j]!=0){check[i][j]=true;sum+=square[i][j];dfs(square,i,j,check);check[i][j]=false;sum=0;//更换起点,路径长度要归零。}}}return maximum;}
};

注意:黄金矿工和单词搜索不一样,单词搜索只需要找到一个满足题意的路径即可(即找到之后剩下的无需遍历需要return 返回)而黄金矿工需要遍历所有路径来找到最优解,无需return

3.不同路径III

题目链接:不同路径III

在这里插入图片描述
解题思路:

  • 递归结束条件:当前位置的元素值为2,若此时可⾛的位置数量num的值为0,则cnt的值加⼀;
class Solution {
public:int num=0;
int row=0;
int line=0;bool judge(vector<vector<bool>>&check)
{for(int i=1;i<row+1;i++){for(int j=1;j<line+1;j++){  if(check[i][j]==false)//有格子没走过return false;}}return true;//所有格子都走过
}void dfs(vector<vector<int>>& square,int i,int j,vector<vector<bool>>&check)
{if(square[i][j]==2)  //走到终点{if(judge(check)){num++;  //路径数量++;}}if((square[i][j+1]==0||square[i][j+1]==2)&&!check[i][j+1])//判断右{check[i][j+1]=true;dfs(square,i,j+1,check);check[i][j+1]=false;//恢复现场}if((square[i][j-1]==0||square[i][j-1]==2)&&!check[i][j-1])//判断左{check[i][j-1]=true;dfs(square,i,j-1,check);check[i][j-1]=false;//恢复现场}if((square[i+1][j]==0||square[i+1][j]==2)&&!check[i+1][j])//判断下{check[i+1][j]=true;dfs(square,i+1,j,check);check[i+1][j]=false;//恢复现场}if((square[i-1][j]==0||square[i-1][j]==2)&&!check[i-1][j])判断上{check[i-1][j]=true;dfs(square,i-1,j,check);check[i-1][j]=false;//恢复现场}}int uniquePathsIII(vector<vector<int>>& grid) {row=grid.size();line=grid[0].size();int position_row=0;int position_line=0;vector<vector<bool>>check(row+2,vector<bool>(line+2,false));vector<vector<int>>square(row+2,vector<int>(line+2,3));for(int i=1;i<row+1;i++){for(int j=1;j<line+1;j++){square[i][j]=grid[i-1][j-1];if(square[i][j]==1||square[i][j]==-1){if(square[i][j]==1){position_row=i;//找入口的行position_line=j;//找入口的列}check[i][j]=true; //}}}dfs(square,position_row, position_line,check);return num;}
};

在这里插入图片描述

相关文章:

算法妙妙屋-------2..回溯的奇妙律动

回溯算法是一种用于系统性地搜索和解决问题的算法&#xff0c;它以深度优先搜索&#xff08;DFS&#xff09;为基础&#xff0c;用来探索所有可能的解决方案。通过递归地尝试候选解并在必要时回退&#xff08;即“回溯”&#xff09;&#xff0c;它能够高效地解决许多涉及组合、…...

pytest-instafail:让测试失败信息即时反馈

pytest-instafail&#xff1a;让测试失败信息即时反馈 前言一、简介二、优势三、安装与使用3.1 未安装时运行情况3.2 安装3.3 已安装时运行情况3.3 pytest.ini 配置选项 四、对比 总结 前言 当测试用例数量庞大时&#xff0c;定位测试失败的原因往往耗时费力。此时&#xff0c;…...

K8S--配置存活、就绪和启动探针

目录 1 本人基础环境2 目的3 存活、就绪和启动探针介绍3.1 存活探针3.2 就绪探针3.3 启动探针 4 探针使用场景4.1 存活探针4.2 就绪探针4.3 启动探针 5 配置存活、就绪和启动探针5.1 定义存活探针5.2 定义一个存活态 HTTP 请求接口5.3 定义 TCP 的就绪探针、存活探测5.4 定义 g…...

solidity基础 -- 枚举

在智能合约开发领域&#xff0c;Solidity语言因其简洁高效而被广泛使用。其中&#xff0c;枚举&#xff08;enum&#xff09;作为一种特殊的数据类型&#xff0c;为合约的状态管理提供了极大的便利。本文将通过一个具体的Solidity合约示例&#xff0c;深入探讨枚举的定义、使用…...

重回C语言之老兵重装上阵(六)枚举

1. 什么是枚举 (enum)&#xff1f; 枚举&#xff08;enum&#xff09;是 C 语言中的一种数据类型&#xff0c;用于定义一组具名的整数常量。它可以使代码更加可读&#xff0c;帮助程序员更容易理解程序中的常量值。通过枚举&#xff0c;程序员可以使用有意义的名称来代替数字&…...

python+playwright自动化测试(一):安装及简单使用,截图录屏

目录 基本使用 浏览器调用 启用浏览器 创建窗口对象 访问URL 页面的刷新、返回、前进 关闭 截图、录屏、保存pdf 截图 录屏 保存为pdf 设置窗口大小 调试模式 手机模式及new_context的更多参数 手机模式 new_context的其他参数 设置语言和时区 设置和修改位置…...

Mysql--架构篇--体系结构(连接层,SQL层,存储引擎层,文件存储层)

MySQL是一种广泛使用的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;其体系结构设计旨在提供高效的数据存储、查询处理和事务管理。MySQL的体系结构可以分为多个层次&#xff0c;每个层次负责不同的功能模块。 MySQL的体系结构主要由以下几个部分组成&#…...

git merge 压缩提交

在 Git 中&#xff0c;执行 git merge 时可以通过一些操作来“压缩”提交&#xff0c;通常是指将合并过程中的多个提交压缩成一个单一的提交。这可以通过使用 --squash 选项来完成&#xff0c;或者在合并后进行交互式 rebase。以下是两种常见的方法&#xff1a; 方法 1&#x…...

Python脚本自动发送电子邮件

要编写一个Python脚本来自动发送电子邮件&#xff0c;你可以使用smtplib库来处理SMTP协议&#xff0c;以及email库来构建邮件内容。 安装必要的库 通常情况下&#xff0c;smtplib和email库是Python标准库的一部分&#xff0c;因此不需要额外安装。如果你使用的是较旧的Python版…...

uniapp中rpx和upx的区别

在 UniApp 中&#xff0c;rpx 和 upx 是两种不同的单位&#xff0c;它们的主要区别在于适用的场景和计算方式。 ### rpx&#xff08;Responsive Pixel&#xff09; - **适用场景**&#xff1a;rpx 是一种响应式单位&#xff0c;主要用于小程序和移动端的布局。 - **计算方式**…...

CentOS 9 Stream 中查看 Python 版本并升级 Python

CentOS 9 Stream 中查看 Python 版本并升级 Python 1. 查看当前 Python 版本2. 升级 Python 版本&#xff08;1&#xff09;安装开发工具&#xff08;2&#xff09;安装必要的依赖包&#xff08;3&#xff09;下载和安装新版本的 Python&#xff08;4&#xff09;验证安装 3. …...

可以用于分割字符串的方法(python)

一、str.split(sep,maxsplit)函数&#xff08;返回列表&#xff09; sep&#xff1a;分隔符 maxsplit&#xff1a;分割次数 a"Hello world" list1a.split(" ",1) print(list1) 结果&#xff1a; [Hello, world] 二、str.rsplit(sep,maxsplit)函数&…...

【Vue】全局/局部组件使用流程(Vue2为例)

全局组件和局部组件区别 如何使用 全局组件&#xff1a;全局注册后&#xff0c;可以在任意页面中直接使用。局部组件&#xff1a;在页面中需要先导入子组件路径&#xff0c;注册组件才能使用。 适用场景 全局组件&#xff1a;适用于高频使用的组件&#xff0c;如导航栏、业…...

virtual box虚拟机误删Python3.6后导致UBUNTU18.04开机无UI界面(进不了desktop)的解决方法

最近在解决一个python引起的问题的时候&#xff0c;作者心一狠&#xff0c;删了系统自带的python3.6&#xff0c; 顺便还删了python3。导致重启后ubuntu的virtual box虚拟机无法看到UI登录界面&#xff0c;只给我了孤零零的命令行。装了很多东西不可能重装&#xff0c;无奈只能…...

虚拟线程JDK与Spring Core Reactor

两种虚拟线程对比&#xff1a;JDK vs. Spring Core Reactor性能对比 1、基于 JDK 的虚拟线程实现&#xff1a; 摘自实际代码&#xff1a; public static void withFlatMapUsingJDK() { ... var virtualThreadExecutor Executors.newThreadPerTaskExecutor( Thread .ofVirtual…...

纯 Python、Django、FastAPI、Flask、Pyramid、Jupyter、dbt 解析和差异分析

一、纯 Python 1.1 基础概念 Python 是一种高级、通用、解释型的编程语言&#xff0c;以其简洁易读的语法和丰富的标准库而闻名。“纯 Python” 在这里指的是不依赖特定的 Web 框架或数据分析工具&#xff0c;仅使用 Python 原生的功能和标准库来开发应用程序或执行任务。 1.…...

C++ NULL和nullptr

NULL实际是一个宏&#xff0c;在传统的C头文件(stddef.h)中&#xff0c;可以看到如下代码: #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *)0) #endif #endif 如上是条件编译的宏定义 确保在不同编程环境下正确处理NULL的定义 C中NULL可能被定义…...

算法日记1:洛谷p2678跳石头(二分答案)

1、题目 二、题解&#xff1a; 2.1解题思路: 1.题目要求求出最小值最大&#xff0c;明显的二分答案题目&#xff0c;所以我们可以二分可以跳跃距离int l-1,rL1; 2.此时我们思考lmid和rmid的处理,当我们的check(mid)为true时候 表明我们此时的mid是符合要求的&#xff0c; 那么…...

PID控制器 (Proportional-Integral-Derivative Controller) 算法详解及案例分析

PID控制器 (Proportional-Integral-Derivative Controller) 算法详解及案例分析 目录 PID控制器 (Proportional-Integral-Derivative Controller) 算法详解及案例分析1. 引言2. PID控制器的基本概念2.1 PID控制器的定义2.2 PID控制器的核心思想2.3 PID控制器的应用领域 3. PID控…...

Vue中nextTick实现原理

源码实现思路&#xff08;面试高分回答&#xff09; 面试官问我 Vue 的 nextTick 原理是怎么实现的&#xff0c;我这样回答&#xff1a; 在调用 this.$nextTick(cb) 之前&#xff1a; 存在一个 callbacks 数组&#xff0c;用于存放所有的 cb 回调函数。存在一个 flushCallbac…...

【MATLAB】subplot如何增加title

在 Matlab 中&#xff0c;使用 subplot 函数将图形窗口划分为多个子图&#xff0c;并使用 title 函数为每个子图添加标题。以下是一个示例&#xff1a; matlab % 生成示例数据 x 0:0.1:10; y1 sin(x); y2 cos(x); % 创建一个 2 行 1 列的子图布局&#xff0c;并选…...

vue3+ts的<img :src=““ >写法

vue3ts的<img :src"" >写法<img :src"datasetImage" alt"数据分布示意图" /><script setup lang"ts">const datasetImage ref();datasetImage.value new URL(../../../assets/images/login-background.jpg, impo…...

Vue+Echarts+百度地图 实现 路径规划

实现功能: 通过选择 相关调拨&#xff0c;系统自动规划 路径&#xff0c;并且以地图的形式呈现最佳路径 技术难点: 1. vue 结合使用 echarts 2.echarts 在 vue嵌入百度地图&#xff0c;并且做出路径 曲线 最终结果:...

uniapp 小程序 textarea 层级穿透,聚焦光标位置错误怎么办?

前言 在开发微信小程序时&#xff0c;使用 textarea 组件可能会遇到一些棘手的问题。最近我在使用 uniapp 开发微信小程序时&#xff0c;就遇到了两个非常令人头疼的问题&#xff1a; 层级穿透&#xff1a;由于 textarea 是原生组件&#xff0c;任何元素都无法遮盖住它。当其…...

IGP协议的双点双向注入(路由引入)

一、拓扑环境 二、单向注入 以上拓扑为例&#xff0c;单点注入存在路由回包问题 在AR5上注入直连路由 55.5.5.5 需求&#xff1a;AR1上的10.1.1.1 需访问AR5上的55.5.5.5 1、在AR2和AR3上查看注入的55.5.5.5的路由信息 2、现在边界设备以学习到目的网段的路由信息&#xff0…...

【React】新建React项目

目录 create-react-app基础运用React核心依赖React 核心思想&#xff1a;数据驱动React 采用 MVC体系package.jsonindex.html好书推荐 官方提供了快速构建React 项目的脚手架&#xff1a; create-react-app &#xff0c;目前使用它安装默认是19版本&#xff0c;我们这里降为18…...

“AI 自动化效能评估系统:开启企业高效发展新征程

在当今数字化飞速发展的时代&#xff0c;企业面临着日益激烈的市场竞争&#xff0c;如何提升效率、降低成本成为了企业生存与发展的关键。AI 自动化效能评估系统应运而生&#xff0c;它如同一把智能钥匙&#xff0c;为企业开启了高效发展的新征程。 AI 自动化效能评估系统&…...

免 root 开启 Pixel 手机 VoLTE 功能

部分运营商需要开启 VoLTE 功能才可以正常通话和接收短信&#xff0c;但是默认情况下&#xff0c;Pixel 是无法开启的&#xff0c;需要我们手动开启一下。经过网友的确认&#xff0c;这种方法还适用于荣耀 MAGIC 等其他品牌的手机。 具体流程如下&#xff1a; 1.打开开发者选…...

华为2024嵌入式研发面试题

01 你认为最好的排序算法是什么&#xff1f; 在实际的编程中&#xff0c;最好的排序算法要根据实际需求和数据规模来选择&#xff0c;因为每种排序算法都有其优势和劣势。以下是一些常见排序算法及其优缺点&#xff1a; 冒泡排序 冒泡排序是一种简单直观的排序算法&#xff0…...

Android Room 报错:too many SQL variables (code 1 SQLITE_ERROR) 原因及解决方法

报错信息&#xff1a; android.database.sqlite.SQLiteException: too many SQL variables (code 1 SQLITE_ERROR): while compiling: SELECT * FROM points WHERE id IN (?,?,?,...,?,?,?)SQLiteException: too many SQL variables 通常是由于一次查询或插入的 SQL 语句…...

PHP 字符串

PHP 字符串 引言 在 PHP 中&#xff0c;字符串是一种非常基础且重要的数据类型。字符串可以包含字母、数字、标点符号以及特殊字符。PHP 提供了丰富的字符串函数&#xff0c;使得字符串操作变得简单而高效。本文将详细介绍 PHP 中字符串的常用操作&#xff0c;包括字符串的创…...

Android15源码编译问题处理

最近想在Raspberry Pi5上面运行自己编译的Android15镜像,参考如下链接来处理: GitHub - raspberry-vanilla/android_local_manifest GitHub - raspberry-vanilla/android_kernel_manifest 代码同步完后,编译就出问题了,总是提示: FAILED: analyzing Android.bp files and…...

Transformer架构和Transformers 库和Hugging Face

Transformer架构 和 Hugging Face 之间的关系非常紧密&#xff0c;Hugging Face 是推动 Transformer 架构普及和应用的重要力量。以下是两者的关系及其具体联系&#xff1a; 1. Transformer 架构 背景: Transformer 是由 Google 在 2017 年提出的革命性架构&#xff0c;基于自…...

【机器学习 | 数据挖掘】离群点检测

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈智能大数据分析 ⌋ ⌋ ⌋ 智能大数据分析是指利用先进的技术和算法对大规模数据进行深入分析和挖掘&#xff0c;以提取有价值的信息和洞察。它结合了大数据技术、人工智能&#xff08;AI&#xff09;、机器学习&#xff08;ML&a…...

【极速版 -- 大模型入门到进阶】除了 Prompting, 大模型还能如何被应用?

文章目录 大模型应用 -- Generative AI Projects&#x1f30a; 大模型应用的时效优势&#x1f30a; 大模型应用的方式 - Technology Options应用方式一 &#x1f41f; Prompting&#xff1a;最简单快速应用方式二&#x1f41f; Retrieval augmented generation (RAG)&#xff1…...

[Unity]发包前遇到的坑之GridLayoutGroup

发包前禁用了UI上面一个调试页面A后&#xff0c;发现无法正确获取某一个用了GridLayoutGroup组件的所有子物体的世界坐标。 一顿研究之后发现&#xff0c;在Start的时候想要正确获取其坐标&#xff0c;需要强制刷新一次布局&#xff0c;方法如下&#xff1a; UnityEngine.U…...

【C++】IO 流

文章目录 &#x1f449;C 语言的输入与输出&#x1f448;&#x1f449;流是什么&#x1f448;&#x1f449;C IO 流&#x1f448;C 标准 IO 流C 和 C 语言的输入格式问题C 的多次输入内置类型和自定义类型的转换日期的多次输入C 文件 IO 流文本文件和二进制文件的读写 &#x1…...

Public Key Retrieval is not allowed 解决方法

如图&#xff1a;我的报错是Public Key Retrieval is not allowed&#xff0c;我的前后端都能正常加载&#xff0c;但是在请求数据库时就会报错如下&#xff1a; 解决办法&#xff1a; 在 application.yaml 中的数据库设置地方加上allowPublicKeyRetrievaltrue&#xff0c;然后…...

大数据原生集群 (Hadoop3.X为核心) 本地测试环境搭建二

本篇安装软件版本 mysql5.6 spark3.2.1-hadoop3.2 presto0.272 zeppelin0.11.2 kafka_2.13_3.7.2 mysql 安装步骤见-》 https://blog.csdn.net/dudadudadd/article/details/110874570 spark 安装步骤见-》https://blog.csdn.net/dudadudadd/article/details/109719624 安装…...

服务器引导异常,Grub报错: error: ../../grub-core/fs/fshelp.c:258:file xxxx.img not found.

服务器引导异常,Grub报错: error: ../../grub-core/fs/fshelp.c:258:file xxxx.img not found. 1. 故障现象2. 解决思路3. 故障分析4. 案件回溯5. 解决问题 1. 故障现象 有一台服务器业务报无法连接. 尝试用Ping命令发现无法ping通. 通过控制台查看发现有以下报错: error: ..…...

RabbitMQ-消息入队

1 分布式异步的问题 对于一个业务线的处理&#xff0c;如果是一个完整的处理&#xff0c;应该是消息正 常进入队列&#xff0c;同时消息正常被消费掉。 问题来了&#xff1a; 生产者发送消息&#xff0c;在传输过程中&#xff0c;消息丢失了&#xff0c;咋办&#xff1f; 消息发…...

Angular-生命周期及钩子函数

什么是生命周期 Angular 创建和渲染组件及其子组件&#xff0c;当它们绑定的属性发生变化时检查它们&#xff0c;并在从 DOM 中移除它之前销毁它们。生命周期函数通俗的讲就是组件创建、组件更新、组件销毁的时候会触发的一系列的方法。当 Angular 使用构造函数新建一个组件或…...

算法-高精度问题(带图详细解读~)

今天来分享四道大数运算的模板题. 目录 1. 大数相加2. 大数相减3. 大数相乘4. 大数相除 1. 大数相加 题目链接: LINK 基本思路: 存入数组, 模拟运算. 逆序字符串补零操作依次取数据, 依次相加 3-1 加: (t-ret s1[i] s2[i] carry) % 10; 3-2 进: (t-ret s1[i] s2[i] car…...

MC1.12.2 macOS高清修复OptiFine运行崩溃

最近在玩RLCraft&#xff0c;在windows中运行正常的&#xff0c;移植到macOS中发现如果加载OptiFine模组就会崩溃 报错日志 报错日志如下&#xff0c;其中已经包含了各种版本信息&#xff0c;我就不单独说明了。这里说一下&#xff0c;报错的时候用的是oracle jdk x64的&…...

Spring Boot教程之五十六:用 Apache Kafka 消费 JSON 消息

Spring Boot | 如何使用 Apache Kafka 消费 JSON 消息 Apache Kafka 是一个流处理系统&#xff0c;可让您在进程、应用程序和服务器之间发送消息。在本文中&#xff0c;我们将了解如何使用 Apache Kafka 在 Spring Boot 应用程序的控制台上发布 JSON 消息。 为了了解如何创建 …...

远程和本地文件的互相同步

文章目录 1、rsync实现类似git push pull功能1. 基础概念2. 示例操作3. 定制化和进阶用法4. 定时同步&#xff08;类似自动化&#xff09; 2 命令简化1. 动态传参的脚本2. Shell 函数支持动态路径3. 结合环境变量和参数&#xff08;更简洁&#xff09;4. Makefile 支持动态路径…...

在ES6模块中导入和导出

在ES6模块中导入和导出 以最简单的例子举例 //shoppingCart.js //导出模块 console.log(导出模块);//script.js //导出模块 import ./shoppingCart.js; console.log(导入模块);所以要导入其他模块必须指定类型 <script type"Modules" defer src"script.js&…...

centos使用dpdk库

yum -y install dpdk dpdk-devel 在 C 中使用 DPDK&#xff08;Data Plane Development Kit&#xff09;库通常涉及到以下几个步骤&#xff1a;安装 DPDK、配置编译环境、编写 C 代码并链接 DPDK 库。以下是如何在 C 中引用和使用 DPDK 的详细步骤。 1. 安装 DPDK 首先&#…...

ChatGLM:从GLM-130B到GLM-4全系列大语言模型

摘要 我们介绍了ChatGLM&#xff0c;这是一个不断进化的大语言模型系列&#xff0c;我们一直在持续开发中。本报告主要聚焦于GLM-4语言系列&#xff0c;包括GLM-4、GLM-4-Air和GLM-4-9B。它们代表了我们从ChatGLM前三代中汲取的所有见解和经验教训所训练出的最强大模型。迄今为…...

EF Core分页

Skip(3).Take(8) 最好显式指定排序规则需要知道满足条件的数据的总条数&#xff1a; 用IQueryable的复用 LongCount和Count页数&#xff1a;long pageCount (long)Math.Ceiling(count * 1.0 / pageSize); class Program {static async Task Main(string[] args){using (MyDbC…...