Leetcode - 周赛443
目录
- 一、3502. 到达每个位置的最小费用
- 二、3503. 子字符串连接后的最长回文串 I
- 三、3504. 子字符串连接后的最长回文串 II
- 四、3505. 使 K 个子数组内元素相等的最少操作数
一、3502. 到达每个位置的最小费用
题目链接
本题是一道脑筋急转弯,实际就是计算前缀最小值,画个图理解一下:
代码如下:
class Solution {public int[] minCosts(int[] cost) {int n = cost.length;int[] ans = new int[n];ans[0] = cost[0];for(int i = 1; i < n; i++){ans[i] = Math.min(ans[i-1], cost[i]);}return ans;}
}
二、3503. 子字符串连接后的最长回文串 I
题目链接
本题数据范围较小,直接暴力,代码如下:
class Solution {public int longestPalindrome(String s, String t) {int n = s.length();int m = t.length();int ans = 1;for(int i = 0; i < n; i++){for(int j = i; j < n; j++){if(check(s.substring(i,j+1))){ans = Math.max(ans, j-i+1);}for(int x = 0; x < m; x++){for(int y = x; y < m; y++){if(check(s.substring(i,j+1) + t.substring(x,y+1))){ans = Math.max(ans, j-i+1+y-x+1);}if(check(t.substring(x,y+1))){ans = Math.max(ans, y-x+1);}}}}}return ans;}boolean check(String s){int l = 0, r = s.length() - 1;while(l < r){if(s.charAt(l) != s.charAt(r))return false;l++;r--;}return true;}
}
三、3504. 子字符串连接后的最长回文串 II
题目链接
本题要构造一个最长的回文串,可以将它分成三个部分 —— ABA,它有两种情况:
- 情况一:
s = "???AB??", t = "???A??"
,A1 与 A2 互相回文,B 自身是一个回文串 - 情况二:
s = "???A???", t = "??BA??"
,A1 与 A2 互相回文,B 自身是一个回文串 - 注:A,B 长度都可以为 0
举一个例子 s = "???abcac??", t = "???ba??"
,这里 A1 = “ab”,B = “cac”,A2 = “ba”,可以将它拆分成两个部分:
- A1 与 A2,这里换一个视角,将 A2 翻转过来,A1 就等于 A2,所以可以将
字符串t
反转一下,这部分实际上就变成了一个求s 与 resT
的最长公共子串问题,可以使用 dp 来解决。- 定义 f [ i ] [ j ] f[i][j] f[i][j]:以 i i i 结尾的字符串 s s s 与 以 j j j 结尾的字符串 r e s T resT resT 的最长公共子串
- s [ i ] s[i] s[i] != r e s T [ j ] resT[j] resT[j], f [ i ] [ j ] = 0 f[i][j] = 0 f[i][j]=0
- s [ i ] s[i] s[i] == r e s T [ j ] resT[j] resT[j], f [ i ] [ j ] = f [ i − 1 ] [ j − 1 ] + 1 f[i][j] = f[i-1][j-1]+1 f[i][j]=f[i−1][j−1]+1
- B 这部分可以使用中心扩展法来枚举,由于回文串的长度可奇可偶,对于一个长度为 n n n 的字符串,需要枚举的中心点就有 n + ( n − 1 ) n + (n - 1) n+(n−1) 个(奇数中心有 n n n 个,偶数中心有 n − 1 n-1 n−1 个),可以从 0 枚举到 2 ∗ n − 2 2 * n - 2 2∗n−2,此时可以直接得到 l = i / 2 , r = ( i + 1 ) / 2 l=i/2, r=(i+1)/2 l=i/2,r=(i+1)/2,然后向两边扩展就行。
- 此时的答案等于: r − l + 1 + 2 ∗ m a x ( f [ l − 1 ] ) r-l+1+2*max(f[l-1]) r−l+1+2∗max(f[l−1])
代码如下:
class Solution {int dfs(String S, String T){char[] s = S.toCharArray();char[] t = T.toCharArray();int n = s.length, m = t.length;int[][] f = new int[n+1][m+1];int[] mx = new int[n+1]; // 统计以 i-1 结尾的字符串S 与 字符串T 的最长公共子串长度int ans = 0;for(int i = 0; i < n; i++){for(int j = 0; j < m; j++){if(s[i] == t[j]){f[i+1][j+1] = f[i][j] + 1;mx[i+1] = Math.max(f[i+1][j+1], mx[i+1]);}}ans = Math.max(ans, 2 * mx[i+1]); // B 为 0 的情况}for(int i = 0; i < 2 * n - 1; i++){ // 中心扩展int l = i / 2;int r = (i + 1) / 2;while(l >= 0 && r < n && s[l] == s[r]){l--;r++;}if(l+1 <= r-1) // 判断 s[l+1, r-1] 不为空 ans = Math.max(ans, r - l - 1 + 2 * mx[l+1]);}return ans;}public int longestPalindrome(String s, String t) {String resT = new StringBuilder(t).reverse().toString();// 分别计算 AB与A,A与BA 两种情况return Math.max(dfs(s, resT), dfs(resT, s)); }
}
四、3505. 使 K 个子数组内元素相等的最少操作数
题目链接
本题是一道综合题:
- 长度为 x x x 的子数组,说明要使用
滑动窗口
- 求子数组中所有元素相等的最小操作次数,
肯定是变成中位数操作次数最小,求中位数
- 求包含 k k k 个长度 恰好 为 x 的不重叠子数组(每个子数组中的所有元素都相等)所需要的最少操作数,这是
dp
先来解决如何计算滑窗中位数,使用对顶堆
解决,准备两个堆,一个大根堆 left
,一个小根堆right
:
- 由特殊到一般,如果给定一个无序数组,如何求它的中位数(不排序做法)
- 中位数只会出现在有序数组的中间位置,所以可以使用
left
来统计数组的前半段,right
来统计数组的后半段,保证left.size() >= right.size()
,此时中位数一定就是left的堆顶元素(1/2个)
。明确了大概的方向,接下来就是如何动态维护元素入堆 - 对于元素
x
,如何判断它是进入left
还是right
,分情况讨论:- 如果
left.size() <= right.size()
,那么一定要把x
放入left
,但是这里会出现一个问题,x 可能比rgiht.peek()还要大,如果直接把 x 放入left,那么有序性就被打破
,所以最好的做法是先将 x 放入right
,然后把right.poll() 放入 left 中
- 如果
left.size() > right.size()
,那么一定要把x
放入right
,但是这里也会出现一个问题,x 可能比left.peek()还要小,如果直接把 x 放入right,那么有序性就被打破
,所以最好的做法是先将x放入left
,然后把left.poll() 放入 right 中
- 如果
- 中位数只会出现在有序数组的中间位置,所以可以使用
- 上述做法已经把入堆的操作讲完了,接下来就是在滑窗过程中如何出元素,假设该元素为
out
- 先判断
out
在那个堆当中 - 如果
out <= left.peek()
,说明它在left
,需要将它从left
移除。但是仅仅这样还不行,它还会出现一个问题如果移除之后 left.size() < rgiht.size()
,那么就不符合我们上述的定义了,还需要将right.poll() 放入 left
- 如果
out > left.peek()
,说明它在right
,需要将它从right
移除。同理这样也不行,它会出现一个问题如果移除之后 left.size() > rgiht.size() + 1
,那么也不符合我们上述的定义,需要将left.poll() 放入 right
- 最后,
left的堆顶元素(1/2个)
就是该滑窗的中位数
- 先判断
滑窗中位数有了,接下来就是计算——将窗口中元素全部变为中位数所需的操作次数,画个图好理解:
得到 r e s res res 数组(res[i]:将 [i,i+k-1] 所有数变成中位数的操作次数)之后,剩下的就是枚举选哪 k k k 个不重叠的子数组,直接使用 dp 来做,定义 f[i][j]:在前 j 个数中,选择 i 个长度为 x 的不重叠子数组所需的最小操作次数
- 对于
f[i][j]
,即以下标为j-1
结尾的子数组有选或不选两种情况: - 不选,它直接从
f[i][j-1]
转移过来,f[i][j] = f[i][j-1]
- 选,题目要求它不能重叠,所以选的子数组下标是
[j-k,j-1]
,需要从f[i-1][j-k](这里j-k表示的是前 j-k 个数,也就是 [0,j-k-1] 选 i-1 个数的最小操作次数)
转移过来,f[i][j] = f[i-1][j-k] + res[j-k]
代码如下:
class Solution {public long minOperations(int[] nums, int x, int k) {long[] res = medianSlidingWindow(nums, x);//[i, i + x - 1]int n = nums.length;long[][] f = new long[k+1][n+1];// f[i][j] = min(f[i][j-1], f[i-1][j-x] + res[j-x])for(int i = 1; i <= k; i++){f[i][i*x-1] = Long.MAX_VALUE;for(int j = i * x; j <= n - (k - i) * x; j++){f[i][j] = Math.min(f[i][j-1], f[i-1][j-x] + res[j-x]);}}return f[k][n];}public long[] medianSlidingWindow(int[] nums, int k) {int n = nums.length;long[] ans = new long[n-k+1];LazyHeap left = new LazyHeap((x, y) -> Integer.compare(y, x));LazyHeap right = new LazyHeap((x, y) -> Integer.compare(x, y));for(int l = 0, r = 0; r < n; r++){int in = nums[r];// 入堆操作if(left.size() == right.size()){left.push(right.pushPop(in));}else{right.push(left.pushPop(in));}if(r < k - 1) continue;int x = left.top();// 计算变成中位数所需操作次数ans[l] = (long) x * (k % 2) + right.sum() - left.sum();int out = nums[l];// 出堆操作if(out <= left.peek()){left.remove(out);if(left.size() < right.size()){left.push(right.pop());}}else{right.remove(out);if(left.size() > right.size() + 1){right.push(left.pop());}}l++;}return ans;}
}
// 手写的懒删除堆(否则会超时)
class LazyHeap extends PriorityQueue<Integer> {//统计当前每个元素需要删除次数private final Map<Integer, Integer> removeCnt = new HashMap<>();//实际堆的大小private int size = 0;private long sum = 0;public LazyHeap(Comparator<Integer> comparator){super(comparator);}public int size(){return size;}public long sum(){return sum;}//懒删除操作public void remove(int x){removeCnt.merge(x, 1, Integer::sum);size--;sum -= x;}//实际执行删除操作private void applyRemove(){while(removeCnt.getOrDefault(peek(), 0) > 0){removeCnt.merge(poll(), -1, Integer::sum);}}//查看推顶元素public int top(){applyRemove();return peek();}//出堆public int pop(){applyRemove();size--;sum -= peek();return poll();}//入堆public void push(int x){int c = removeCnt.getOrDefault(x, 0);if(c > 0){removeCnt.put(x, c - 1);}else{offer(x);}sum += x;size++;}//push(x), pop()public int pushPop(int x){applyRemove();sum += x;offer(x);sum -= peek();return poll();}
}
相关文章:
Leetcode - 周赛443
目录 一、3502. 到达每个位置的最小费用二、3503. 子字符串连接后的最长回文串 I三、3504. 子字符串连接后的最长回文串 II四、3505. 使 K 个子数组内元素相等的最少操作数 一、3502. 到达每个位置的最小费用 题目链接 本题是一道脑筋急转弯,实际就是计算前缀最小…...
dolphinscheduler单机部署链接oracle
部署成功请给小编一个赞或者收藏激励小编 1、安装准备 JDK版本:1.8或者1.8oracle版本:19Coracle驱动版本:8 2、安装jdk 下载地址:https://www.oracle.com/java/technologies/downloads/#java8 下载后上传到/tmp目录下。 然后执行下面命…...
Three.js 系列专题 5:加载外部模型
内容概述 Three.js 支持加载多种 3D 文件格式(如 GLTF、OBJ、FBX),这让开发者可以直接使用专业建模软件(如 Blender、Maya)创建的复杂模型。本专题将重点介绍 GLTF 格式的加载,并调整模型的位置和材质。 学习目标 理解常见 3D 文件格式及其特点。掌握使用 GLTFLoader 加…...
【C++算法】50.分治_归并_翻转对
文章目录 题目链接:题目描述:解法C 算法代码:图解 题目链接: 493. 翻转对 题目描述: 解法 分治 策略一:计算当前元素cur1后面,有多少元素的两倍比我cur1小(降序) 利用单…...
观察者模式详解实战
观察者模式深度解析与实战案例 一、传统观察者模式痛点分析 强制接收所有通知:观察者被迫处理无关事件 事件信息不透明:状态变更缺乏上下文信息 类型安全缺失:需要手动进行类型判断和转换 扩展成本高:新增事件类型需要修改接口 …...
Light RPC:一款轻量高效的Java RPC框架实践指南
Light RPC:一款轻量高效的Java RPC框架实践指南 一、框架简介二、快速入门1. 环境准备2. 服务端配置2.1 添加依赖2.2 YAML配置2.3 接口与实现 3. 客户端配置3.1 添加依赖3.2 YAML配置3.3 客户端调用 三、核心设计解析四、适用场景与优势对比五、总结 一、框架简介 …...
国内MCP资源网站有哪些?MCP工具上哪找?
在人工智能领域,MCP(模型上下文协议)正逐渐成为连接 AI 模型与外部世界的重要桥梁。而AIbase (https://www.aibase.com/zh/repos/topic/mcp)正是探索 MCP 生态的绝佳平台,它为开发者和研究者提供了一个集中…...
在PowerBI中通过比较日期实现累加计算
#表格数据# 日期数量2025/4/712025/4/822025/4/932025/4/1042025/4/1152025/4/1262025/4/1372025/4/1482025/4/1592025/4/16102025/4/1711 #新建计算列# 列 SUMX(FILTER(表格数据,[日期]<EARLIER([日期])),表格数据[数量])...
十四届蓝桥杯Java省赛 B组(持续更新..)
十四届蓝桥杯Java省赛 B组 第一题:阶乘求和 📖 📚阶乘求和 第二题:幸运数字 📖 📚幸运数字 第三题:数组分割 📖 📚数组分割 说是考动态规划,但没有用…...
NO.73十六届蓝桥杯备战|搜索算法-剪枝与优化-记忆化搜索|数的划分|小猫爬山|斐波那契数|Function|天下第一|滑雪(C++)
剪枝与优化 剪枝,形象得看,就是剪掉搜索树的分⽀,从⽽减⼩搜索树的规模,排除掉搜索树中没有必要的分⽀,优化时间复杂度。 在深度优先遍历中,有⼏种常⻅的剪枝⽅法 排除等效冗余 如果在搜索过程中…...
深度学习总结(2)
神经网络的数据表示 在前面的例子中,我们的数据存储在多维NumPy数组中,也叫作张量(tensor)。一般来说,目前所有机器学习系统都使用张量作为基本数据结构。张量对这个领域非常重要,重要到TensorFlow都以它来命名。究竟什么是张量呢?张量这一概念的核心在于,它是一个数…...
STM32H7 ADC最大速率
STM32H7 ADC最大速率 硬件限制 封装 在手册 AN5354 中说明了不同封装、不同分辨率的最大速率是不一致的; BGA封装的ADC的速度要快于LQFP封装的速度的; 分辨位数越高、转换时间越长,所以ADC的最大采样速率也就最低; ADC通道模…...
MVC模型
MVC模型(Model模型,View视图,Controller控制器) 逻辑执行流程: JSP(View)----》Servlet(Controller)----》service,dao,pojo(Model&a…...
OpenGL ES -> SurfaceView + EGL实现立方体纹理贴图+透视效果
XML文件 <?xml version"1.0" encoding"utf-8"?> <com.example.myapplication.MySurfaceView xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"…...
arthas线上不停机修改bug
安装arthas wget https://alibaba.github.io/arthas/arthas-boot.jar启动: java -jar arthas-boot.jar 启动失败 使用jps也没查到对应的进程 发生错误信息 使用进程id启动,报错 进程id查看使用命令: ps -ef | grep java 详情…...
#关于require 与 import 相关了解
📦 require 在前端项目中使用,属于 CommonJS 模块规范 的语法,主要用于 Node.js 环境。早期的前端模块打包工具(如 Webpack)会兼容这种写法,但在现代前端项目(如 Vue、React)中&…...
【算法应用】基于融合A星-粒子群算法求解六边形栅格地图路径规划
目录 1.粒子群算法PSO原理2.结果展示3.参考文献4.代码获取 1.粒子群算法PSO原理 【智能算法】粒子群算法(PSO)原理及实现 六边形栅格地图 分析一下地图: 六边形栅格地图上移动可以看做6领域运动,偶数列与奇数列移动方式有所差异…...
【深度学习】【目标检测】【Ultralytics-YOLO系列】YOLOV3源码整体结构解析
【深度学习】【目标检测】【Ultralytics-YOLO系列】YOLOV3源码整体结构解析 文章目录 【深度学习】【目标检测】【Ultralytics-YOLO系列】YOLOV3源码整体结构解析前言代码结构整体data文件结构模型训练超参数配置文件解析数据集配置文件解析 models文件结构utils文件结构runs文…...
R语言:气象水文领域的数据分析与绘图利器
R 语言是一门由统计学家开发的用于统计计算和作图的语言(a Statistic Language developed for Statistic by Statistician),由 S 语言发展而来,以统计分析功能见长。R 软件是一款集成 了数据操作、统计和可视化功能的优秀的开源软…...
R语言空间水文气象数据分析:从插值到动态可视化
一、R简介与R 在气象水文中的应用 R语言与 R软件简介R 在各行业的应用概览R 与其他语言的比较及其在数据分析与作图上的优势 R 在地学中的应用以及R 在气象水文中的应用 二、出发之前——用什么来同时记录我们的数据、代码及结果——Rmd与 knitr介绍 介绍一种方便的理念——…...
在Unity中实现《幽灵行者》风格的跑酷动作
基础设置 角色控制器选择: 使用Character Controller组件或Rigidbody Capsule Collider 推荐使用Character Controller以获得更精确的运动控制 输入系统: 使用Unity的新输入系统(Input System Package)处理玩家输入 滑铲实现 public class Slide…...
C# Winform 入门(14)之如何使用线程池
什么是线程? 首先我们要弄明白什么是线程,线程和线程池有啥区别? C# 多线程应用(同步异步)_c# 异步线程-CSDN博客 补充:ManualResetEvent 的使用 ManualResetEvent 是一种线程同步机制,用于控制一个或者多个线程的执…...
I have something to say about Vue Node.js
关于Vue Node.js,我真的说了很多次了,让我难以理解为啥这么粗糙的东西能流行一起。真疯狂的世界。 vue让感觉就像玩猫德一样的,如此的疯狂,天哪。睡觉了 Node.js v13 window7_nodejsv13-CSDN博客...
OpenCV 图形API(17)计算输入矩阵 src 中每个元素的平方根函数sqrt()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 描述 计算数组元素的平方根。 cv::gapi::sqrt 函数计算每个输入数组元素的平方根。对于多通道数组,每个通道会独立处理。其精度大约与内置的 …...
题目练习之set的奇妙使用
♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…...
基于人工智能的医学影像关联分析:利用潜在空间几何混杂因素校正法|文献速递-深度学习医疗AI最新文献
Title 题目 AI-based association analysis for medical imaging using latent-spacegeometric confounder correction 基于人工智能的医学影像关联分析:利用潜在空间几何混杂因素校正法 01 文献速递介绍 人工智能(AI)已成为各个领域的…...
进程的创建态、运行状态和阻塞状态
今天与大家来聊聊进程的三种状态: 1. 创建态 当需要创建一个新进程时,系统为该进程分配一个进程控制块 PCB,并为该进程分配内存空间,且装入该进程对应的程序和有关的数据,这时,一个新进程就产生了。 2. …...
科普:GRU、LSTM及RNN
GRU(门控循环单元)、LSTM(长短期记忆网络)、RNN(循环神经网络)均为处理序列数据的神经网络模型,它们之间存在着紧密的联系与明显的差异。 我们重点看一下GRU,并比较它们。 一、GRU算…...
java+postgresql+swagger-多表关联insert操作(七)
入参为json,然后根据需要对多张表进行操作: 入参格式: [{"custstoreName":"swagger-测试经销商01","customerName":"swagger-测试客户01","propertyNo":"swaggertest01",&quo…...
如何将/dev/ubuntu-vg/lv-data的空间扩展到/dev/ubuntu-vg/ubuntu-lv的空间上
要将 /dev/ubuntu-vg/lv-data 的空间扩展到 /dev/ubuntu-vg/ubuntu-lv 上,实际上是将 lv-data 的空间释放出来,并将其分配给 ubuntu-lv。以下是详细的步骤和操作说明: 已知信息 你有两个逻辑卷: /dev/ubuntu-vg/lv-data/dev/ubun…...
No module named ‘keras.engine‘
目录 报错代码: tensorflow-gpu安装 2024.01.05 keras和tf版本对应关系: 报错代码: try:from keras.src.engine import base_layer, data_adapterfrom keras.src.engine.training import _disallow_inside_tf_function, _get_verbosity, …...
python应用之使用pdfplumber 解析pdf文件内容
目录标题 1. 通过 pdfplumber.open() 解析复杂PDF:1-2. 报错:V2 : v3 使用tk 库运行环境准备完整代码保存运行测试步骤方式二:命令行方式(适用于自动化) 测试用例示例常见问题排查1. 无文件选择对话框弹出&…...
【学Rust写CAD】36 颜色插值函数(alpha256.rs补充方法)
源码 pub fn alpha_lerp(self,src: Argb, dst: Argb, clip: u32) -> Argb {self.alpha_mul_256(clip).lerp(src, dst)}这个函数 alpha_lerp 是一个颜色插值(线性插值,lerp)函数,它结合了透明度混合(alpha_mul_256&…...
[GN] 通讯协议 - Uart
系列文章目录 sigrokdecode 模块学习指南 — 准备阶段 文章目录 系列文章目录前言通讯协议Uart通讯协议什么是UartUART通信协议 其他协议后续待更 前言 在阅读libsigrokdecode源码之前,先学习通讯协议。so hard!! 通讯协议 Uart通讯协议 …...
C# 状态模式深度解析:构建灵活的状态驱动系统
一、状态模式概述 状态模式(State Pattern)是一种行为型设计模式,它允许对象在其内部状态改变时改变其行为,使对象看起来像是修改了它的类。这种模式将特定状态相关的行为局部化,并且将不同状态的行为分割开来。 状态…...
MySQL学习笔记四
第六章过滤数据 6.1使用WHERE子句 输入: SELECT job_id, job_title FROM jobs WHERE min_salary4200; 输出: 说明:在需要特定数据时需要根据条件对数据库中的数据进行过滤,即指定搜索条件(过滤条件)&a…...
Node环境安装
1.下载安装 作为开发使用,追求长期运行的Node环境,建议选择LTS版本(长期支持稳定版),本地测试可以选择最新版本。首先,访问Node.js官网下载安装程序,好在官网默认就有下载链接: 直接点击下载即可ÿ…...
浏览器自动化操作AI工具-browser-use
一、项目概述 Browser-Use 是一个将大型语言模型(LLM)与浏览器自动化结合的开源工具,旨在通过AI代理实现智能化的网页交互操作。其核心目标是为开发者提供一种无需编写复杂脚本即可完成网页自动化任务的解决方案,支持从数据抓取到…...
极氪汽车云原生架构落地实践
云原生架构落地实践的背景 随着极氪数字业务的飞速发展,背后的 IT 技术也在不断更新迭代。极氪极为重视客户对服务的体验,并将系统稳定性、业务功能的迭代效率、问题的快速定位和解决视为构建核心竞争力的基石。 为快速响应用户的需求,例如…...
[ctfshow web入门] web16
信息收集 提示:对于测试用的探针,使用完毕后要及时删除,可能会造成信息泄露 试试url/phpinfo.php url/phpsysinfo.php url/tz.php tz.php能用 点击phpinfo,查看phpinfo信息,搜索flag,发现flag被保存为变量…...
沧州铁狮子
又名“镇海吼”,是中国现存年代最久、形体最大的铸铁狮子,具有深厚的历史文化底蕴和独特的艺术价值。以下是关于沧州铁狮子的详细介绍: 历史背景 • 铸造年代:沧州铁狮子铸造于后周广顺三年(953年)&#…...
【Android Sdk】uiautomatorviewer.bats闪退问题如何解决?
目录 一、uiautomatorviewer.bats闪退 1. 报错场景 2. 问题原因 3. 解决方法 前言 具体操作 一、uiautomatorviewer.bats闪退 1. 报错场景 SDK的tools文件夹中uiautomatorviewer.bat双击闪退不能打开,直接双击uiautomatorviewer.bat闪退。 双击打不开uiaut…...
Redis7——进阶篇(八)
前言:此篇文章系本人学习过程中记录下来的笔记,里面难免会有不少欠缺的地方,诚心期待大家多多给予指教。 基础篇: Redis(一)Redis(二)Redis(三)Redis&#x…...
蓝桥杯 封闭图形个数 刷题笔记
分析 写一个node结构 定义两个数一个存数值 一个存图形个数 分解每个输入的数 的每一位 为每个输入的数赋值一个封闭图形个数的值作为判断依据 重写 cmp函数作为 sort的判断依据 #include<iostream> #include<bits/stdc.h> using namespace std; const int N…...
AI大模型底层技术——结合 Prompt Engineering 的 LoRA
目录 1. 结合 Prompt Engineering 的 LoRA? (1) 定义 (2) 核心思想 2. 核心功能 3. 对比传统通用微调 4. 技术要素 (1) Prompt Engineering (2) LoRA 微调 (3) Prompt & LoRA 协同优化 5. 难点及解决 6. 技术路径 7. 具体技术实现 8. 应用场景 9. …...
7-Zip如何创建分卷压缩文件,进行分批压缩?
相信很多小伙伴在传输文件时会选择先压缩成7-Zip等压缩包后再传输,但如果压缩的文件过大大,传输速度就会很慢,或者上传压缩文件到云盘时也会受到文件大小的限制。 要解决以上问题,我们可以 把文件压缩成多个标准的压缩包…...
【蓝桥杯省赛】 02 包子凑数
题目描述 小明想知道包子铺用给定的蒸笼规格能凑出多少种无法组成的包子数目。若无法组成的数目无限,输出 INF。 输入格式 第一行为整数 N N N(蒸笼种数)接下来 N N N 行每行一个整数 A i A_i Ai(每种蒸笼的包子数&#x…...
人工智能通识速览(Part3. 强化学习)
三、强化学习 1. 基本概念 强化学习是机器学习中的一个重要领域,它涉及智能体(agent)如何在环境中采取一系列行动,以最大化累积奖励。以下是关于强化学习的详细介绍: 智能体:是一个能够感知环境并采取行动…...
深度解析LinkedList工作原理
引言 在 Java 编程中,集合框架是处理数据存储和操作的强大工具。LinkedList 作为其中的重要成员,为我们提供了一种灵活的列表实现方式。与 ArrayList 基于数组的实现不同,LinkedList 采用链表结构,这使得它在某些操作上具有独特的…...
excel的逻辑类型函数(主要包括if、and、or、not、xor、iserror、iferror、true、false、ifs、ifna、switch)
目录 1. IF 函数2. AND 函数3. OR 函数4. NOT 函数5. XOR 函数6. ISERROR 函数7. IFERROR 函数8. TRUE 与 FALSE9. IFS 函数10. IFNA 函数11. SWITCH 函数 1. IF 函数 功能: 根据指定条件判断结果,如果条件为 TRUE,则返回一个值;…...