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

LeetCode --- 435周赛

题目列表

3442. 奇偶频次间的最大差值 I
3443. K 次修改后的最大曼哈顿距离
3444. 使数组包含目标值倍数的最少增量
3445. 奇偶频次间的最大差值 II

一、奇偶频次间的最大差值I

奇偶频次间的最大差值 I
统计字母出现次数,然后分别统计出现偶数次的最小值和出现奇数次的最大值,将两者相减即可,代码如下

// c++
class Solution {
public:int maxDifference(string s) {int cnt[26]{};int mx = 0, mn = INT_MAX;for(auto e : s) cnt[e-'a']++;for(auto x : cnt){if(x){if(x & 1) mx = max(mx, x);else mn = min(mn, x);}}return mx - mn;}
};
# python
class Solution:def maxDifference(self, s: str) -> int:cnt = Counter(s)max1 = max(c for c in cnt.values() if c % 2 == 1)min0 = min(c for c in cnt.values() if c % 2 == 1)return max1 - min0

二、K 次修改后的最大曼哈顿距离

K 次修改后的最大曼哈顿距离
求在移动的过程中,距离原点的最大曼哈顿距离,并且我们可以改变 k k k 次移动的方向。我们可以计算出每一个时刻距离原点的最大距离,取 m a x max max 即为答案

  • 对于任意时刻,我们所在的位置和之前移动方向的顺序无关,只和四个方向的移动次数有关,比如已知:向 N N N 走了 5 5 5 步,向 S S S 走了 2 2 2 步,向 E E E 走了 6 6 6 步,向 W W W 走了 3 3 3 步,则当前位置坐标为 ( + 5 − 2 , + 6 − 3 ) = ( 3 , 3 ) (+5-2,+6-3)=(3,3) (+52,+63)=(3,3),曼哈顿距离为 ∣ 3 ∣ + ∣ 3 ∣ = 6 |3|+|3|=6 ∣3∣+∣3∣=6。故只要统计四个方向的移动次数即可
  • 如何改变移动方向,才能让曼哈顿距离变大?减少相反方向的移动次数,比如向 N N N 5 5 5 步,向 S S S 3 3 3 步,显然我们要让向 S S S 的移动次数变小,向 N N N 的移动次数变多。即对于两个相反方向来说,我们改变移动次数少的方向

代码如下

// c++
class Solution {
public:int maxDistance(string s, int k) {int n = s.size(), ans = 0;int f[4]{};for(auto e : s){// 统计四个方向上的移动次数switch(e){case 'N': f[0]++; break;case 'S': f[1]++; break;case 'E': f[2]++; break;case 'W': f[3]++; break;}// cnt 表示改变移动方向后,会使得答案更大的移动次数,即统计相反方向上移动次数更小的移动次数int cnt = min(f[0], f[1]) + min(f[2], f[3]);// res 表示不考虑 cnt 的最大曼哈顿距离int res = max(f[0], f[1]) + max(f[2], f[3]);// min(cnt, k) 表示可修改移动方向的移动次数,max(cnt, k) - k 表示不可修改的移动次数ans = max(ans, res + min(cnt, k) - (max(cnt, k) - k));}return ans;}
};
# python
class Solution:def maxDistance(self, s: str, k: int) -> int:n = len(s)f = defaultdict(int)ans = 0for x in s:f[x] += 1a = max(f['N'], f['S']) + max(f['E'], f['W'])b = min(f['N'], f['S']) + min(f['E'], f['W'])ans = max(ans, a + min(b, k) - (max(b, k) - k))return ans

三、使数组包含目标值倍数的最少增量

使数组包含目标值倍数的最少增量
在这里插入图片描述
为了让 t a r g e t target target 中的每个元素在 n u m s nums nums 中至少有一个倍数存在,我们需要让 n u m s nums nums 中的某些数成为 t a r g e t target target 中一个数或多个数的倍数。

  • 为了保证操作次数最少,我们进行操作的数必然要成为 t a r g e t target target 中一个数或多个数的倍数,故我们可以采用选或不选的思路考虑
    • 由于 t a r g e t target target 的最多有 4 4 4 个数,我们可以预处理出不同数字组合的公倍数,如 [ 2 , 3 , 4 ] [2,3,4] [2,3,4],我们可以计算出 [ 2 ] 、 [ 3 ] 、 [ 4 ] 、 [ 2 , 3 ] 、 [ 2 , 4 ] 、 [ 3 , 4 ] 、 [ 2 , 3 , 4 ] [2]、[3]、[4]、[2,3]、[2,4]、[3,4]、[2,3,4] [2][3][4][2,3][2,4][3,4][2,3,4] 这些集合数字的公倍数。可以用动态规划 + + +位运算来解决

      • f [ m a s k ] f[mask] f[mask] 表示 m a s k mask mask 中二进制为 1 1 1 的数字集合的公倍数
      • f [ m a s k ∣ 1 < < i ] = l c m ( f [ m a s k ] , t a r g e t [ i ] ) f[mask|1<<i] = lcm(f[mask],target[i]) f[mask∣1<<i]=lcm(f[mask],target[i]),其中 l c m lcm lcm 为求两个数的最小公倍数的函数
    • 对于任意一个数 n u m s [ i ] nums[i] nums[i],如果我们选择它,则让它成为 t a r g e t target target 中一个数或多个数的倍数,即 f [ s u b ] f[sub] f[sub] 的倍数,其中 s u b sub sub 表示 t a r g e t target target 中部分数字的集合。如果不选,则考虑让剩下的数字

      • 故我们定义 d p [ i ] [ j ] dp[i][j] dp[i][j] 表示前 i i i 个数让 j j j 的二进制集合中的数字都有倍数的最小操作次数
      • 不选 n u m s [ i ] nums[i] nums[i] d p [ i ] [ j ] = d p [ i − 1 ] [ j ] dp[i][j] = dp[i-1][j] dp[i][j]=dp[i1][j]
      • n u m s [ i ] nums[i] nums[i] d p [ i ] [ j ] = m i n ( d p [ i − 1 ] [ j − s u b ] + ( l − n u m s [ i ] % l ) % l ) dp[i][j] = min(dp[i-1][j-sub] + (l-nums[i]\%l)\%l) dp[i][j]=min(dp[i1][jsub]+(lnums[i]%l)%l),其中 s u b sub sub j j j 的子集, l = f [ s u b ] l=f[sub] l=f[sub] 表示 s u b sub sub 集合的最小公倍数
      • ( l − n u m s [ i ] % l ) % l (l-nums[i]\%l)\%l (lnums[i]%l)%l 计算 n u m s [ i ] nums[i] nums[i] 变成 l l l 的倍数的最少操作次数

代码如下

// c++
class Solution {
public:int minimumIncrements(vector<int>& nums, vector<int>& target) {int n = nums.size(), m = target.size();vector<long long> lcms(1<<m);lcms[0] = 1;for(int i = 0; i < m; i++){int bit = 1 << i;for(int mask = 0; mask < bit; mask++){lcms[mask|bit] = lcm(lcms[mask], target[i]);}}vector f(n + 1, vector<long long>(1 << m));for(int j = 1; j < (1<<m); j++) f[0][j] = LLONG_MAX/2;for(int i = 0; i < n; i++){for(int j = 0; j < (1<<m); j++){f[i+1][j] = f[i][j];for(int sub = j; sub; sub = (sub - 1) & j){ // 枚举 j 的子集long long l = lcms[sub];f[i+1][j] = min(f[i+1][j], f[i][j-sub] + (l - nums[i]%l)%l);}}}return f[n][(1<<m)-1];}
};
#python
class Solution:def minimumIncrements(self, nums: List[int], target: List[int]) -> int:n = len(nums)m = len(target)lcms = [0] * (1 << m)lcms[0] = 1for i in range(m):bit = 1 << ifor mask in range(bit):lcms[mask | bit] = lcm(lcms[mask], target[i])f = [[0]*(1<<m) for _ in range(n + 1)]for j in range(1, 1<<m):f[0][j] = inffor i in range(n):for j in range(1<<m):f[i+1][j] = f[i][j]sub = jwhile sub:l = lcms[sub]f[i+1][j] = min(f[i+1][j], f[i][j-sub] + (l - nums[i]%l)%l)sub = (sub - 1) & jreturn f[n][(1<<m)-1]

四、奇偶频次间的最大差值 II

在这里插入图片描述
在这里插入图片描述

本题的思路如下

  • 由于 s s s 中最多有 5 5 5 中数字字符,可以两重循环暴力枚举 a 、 b a、b ab 两个字符 ( a ! = b ) (a!=b) (a!=b)

  • 在不考虑奇偶性的情况下,求 [ l , r ] [l,r] [l,r] 区间内出现次数之差的最大值,我们可以用前缀和快速计算出区间内字符 a 、 b a、b ab 的出现次数,在相减得 p r e a [ r ] − p r e a [ l − 1 ] − ( p r e b [ r ] − p r e b [ l − 1 ] ) = p r e a [ r ] − p r e b [ r ] − ( p r e a [ l − 1 ] − p r e b [ l − 1 ] ) pre_a[r]-pre_a[l-1]-(pre_b[r]-pre_b[l-1])=pre_a[r]-pre_b[r]-(pre_a[l-1]-pre_b[l-1]) prea[r]prea[l1](preb[r]preb[l1])=prea[r]preb[r](prea[l1]preb[l1]),对于这样的式子,我们可以边计算 p r e a 、 p r e b pre_a、pre_b preapreb,边跟新 p r e a − p r e b pre_a-pre_b preapreb 的最小值,同时跟新答案

  • 如何考虑奇偶性?定义一个数组 d i f f [ 2 ] [ 2 ] diff[2][2] diff[2][2] 记录前 i i i p r e a − p r e b pre_a-pre_b preapreb 的最小值

    • d i f f [ 0 ] [ 0 ] diff[0][0] diff[0][0] 表示 p r e a pre_a prea 为偶数, p r e b pre_b preb 为偶数的情况
    • d i f f [ 0 ] [ 1 ] diff[0][1] diff[0][1] 表示 p r e a pre_a prea 为偶数, p r e b pre_b preb 为奇数的情况
    • d i f f [ 1 ] [ 0 ] diff[1][0] diff[1][0] 表示 p r e a pre_a prea 为奇数, p r e b pre_b preb 为偶数的情况
    • d i f f [ 1 ] [ 1 ] diff[1][1] diff[1][1] 表示 p r e a pre_a prea 为奇数, p r e b pre_b preb 为奇数的情况
    • 如此一来,我们就能根据当前 p r e a 、 p r e b pre_a、pre_b preapreb 的奇偶性,来匹配合适的最小值 d i f f [ p ] [ q ] diff[p][q] diff[p][q],其中 p = 1 − p r e a % 2 , q = p r e b % 2 p=1-pre_a\%2,q=pre_b\%2 p=1prea%2q=preb%2
  • 注意:题目要求区间内字符 a 、 b a、b ab 的出现次数不能为 0 0 0,所以我们要保证 p r e [ r ] − p r e [ l − 1 ] ! = 0 pre[r]-pre[l-1]!=0 pre[r]pre[l1]!=0,即 p r e [ r ] ! = p r e [ l − 1 ] pre[r]!=pre[l-1] pre[r]!=pre[l1],由于 p r e pre pre 数组是递增的,则 p r e [ r ] > p r e [ l − 1 ] pre[r]>pre[l-1] pre[r]>pre[l1],同时题目要求区间长度 ≥ k \geq k k,我们可以用类似滑动窗口的思想更新 d i f f diff diff 数组,具体见代码

代码如下

// c++
class Solution {
public:int maxDifference(string s, int k) {int n = s.size();int ans = INT_MIN;for(int a = 0; a < 5; a++){for(int b = 0; b < 5; b++){if(a == b) continue;vector diff(2, vector<int>(2, INT_MAX));vector<int> cnta(n + 1), cntb(n + 1);for(int i = 0, j = 0; i < n; i++){int x = s[i] - '0';cnta[i + 1] = cnta[i] + (x == a);cntb[i + 1] = cntb[i] + (x == b);// 跟新 diff 最小值,保证 区间长度 >= k && 字符a、b的出现次数 > 0while(i - j + 1 >= k && cnta[j] < cnta[i+1] && cntb[j] < cntb[i+1]){int p = cnta[j] % 2, q = cntb[j] % 2;diff[p][q] = min(diff[p][q], cnta[j] - cntb[j]);j++;}if(i >= k - 1){int p = 1 - cnta[i+1] % 2, q = cntb[i+1] % 2;if(diff[p][q] < INT_MAX){ans = max(ans, cnta[i+1] - cntb[i+1] - diff[p][q]);}}}}}return ans;}
};
# python
class Solution:def maxDifference(self, s: str, k: int) -> int:n = len(s)ans = -inffor a in range(5):for b in range(5):if a == b:continuediff = [[inf, inf], [inf, inf]]cnta, cntb = [0]*(n+1), [0]*(n+1)j = 0for i in range(n):x = ord(s[i]) - ord('0')cnta[i+1] = cnta[i] + (x == a)cntb[i+1] = cntb[i] + (x == b)while i - j + 1 >= k and cnta[j] < cnta[i+1] and cntb[j] < cntb[i+1]:p, q = cnta[j] % 2, cntb[j] % 2diff[p][q] = min(diff[p][q], cnta[j]-cntb[j])j += 1if i >= k - 1:p, q = 1 - cnta[i+1] % 2, cntb[i+1] % 2if diff[p][q] < inf:ans = max(ans, cnta[i+1] - cntb[i+1] - diff[p][q])return ans

相关文章:

LeetCode --- 435周赛

题目列表 3442. 奇偶频次间的最大差值 I 3443. K 次修改后的最大曼哈顿距离 3444. 使数组包含目标值倍数的最少增量 3445. 奇偶频次间的最大差值 II 一、奇偶频次间的最大差值I 统计字母出现次数&#xff0c;然后分别统计出现偶数次的最小值和出现奇数次的最大值&#xff0c;…...

算法 ST表

目录 前言 一&#xff0c;暴力法 二&#xff0c;打表法 三&#xff0c;ST表 四&#xff0c;ST表的代码实现 总结 前言 ST表的主要作用是在一个区间里面寻找最大值&#xff0c;具有快速查找的功能&#xff0c;此表有些难&#xff0c;读者可以借助我的文章和网上的课程结…...

【AI论文】使用滑动磁贴注意力实现快速视频生成

摘要&#xff1a;扩散变换器&#xff08;DiTs&#xff09;凭借3D全局注意力机制在视频生成领域达到了最先进水平&#xff0c;但其计算成本高昂——生成一段仅5秒的720P视频时&#xff0c;仅注意力计算就占用了总推理时间的945秒中的800秒。本文引入了滑动磁贴注意力&#xff08…...

MAAS | Ollama 搭建本地 AI 大模型 deepseekWeb 界面调用

目录 一、环境准备二、安装 Ollama三、下载并部署 DeepSeek 模型四、简单交互五、通过 Web 界面调用大模型 在当今人工智能快速发展的时代&#xff0c;本地部署大语言模型赋予了用户更高的灵活性和个性化服务体验。本文介绍了如何准备环境、安装Ollama框架、下载并部署DeepSeek…...

Arduino 第十一章:温度传感器

Arduino 第十一章&#xff1a;LM35 温度传感器 一、LM35 简介 LM35 是美国国家半导体公司&#xff08;现德州仪器&#xff09;生产的一款精密集成电路温度传感器。与基于热力学原理的传统温度传感器不同&#xff0c;LM35 能直接将温度转换为电压输出&#xff0c;且输出电压与…...

普通用户授权docker使用权限

1、检查docker用户组 sudo cat /etc/group |grep docker 若显示&#xff1a;docker:x:999: # 表示存在否则创建docker用户组&#xff1a; sudo groupadd docker2、查看 /var/run/docker.sock 的属性 ll /var/run/docker.sock 显示&#xff1a; srw-rw---- 1 root root 0 1月…...

嵌入式软件C语言面试常见问题及答案解析(四)

嵌入式软件C语言面试常见问题及答案解析(四) 原本打算将链表相关的面试题整合到一个文档中,奈何写着写着就发现题目比较多,题型也比较丰富,所以导致上一篇已经足够长了,再长也就有点不礼貌了。 所以在这儿继续来总结分享那个面试中遇到的题目,文中的问题和提供的答案或者…...

Python中是否有类似R语言中rds的功能,可将对象保存为文件?

在数据分析和科学计算领域&#xff0c;R语言和Python都是极为流行的编程语言。它们各自拥有独特的优势和丰富的库资源&#xff0c;使得数据科学家们能够高效地处理和分析数据。在R语言中&#xff0c;RDS&#xff08;R Data Serialization&#xff09;格式是一种非常方便的方式&…...

LabVIEW无人机飞行状态监测系统

近年来&#xff0c;无人机在农业植保、电力巡检、应急救灾等多个领域得到了广泛应用。然而&#xff0c;传统的目视操控方式仍然存在以下三大问题&#xff1a; 飞行姿态的感知主要依赖操作者的经验&#xff1b; 飞行中突发的姿态异常难以及时发现&#xff1b; 飞行数据缺乏系统…...

车联网安全入门一:了解CAN总线及环境模拟

准备打工了&#xff0c;工作内容和车联网安全相关&#xff0c;本来想着和app分析有较大关系&#xff0c;但是还涉及到很多关于汽车渗透测试相关的知识&#xff0c;由于之前并没有接触过&#xff0c;就借此机会和大家来学习一下。 ## CAN基础知识 ### CAN&#xff08;Controller…...

hive spark读取hive hbase外表报错分析和解决

问题现象 使用Spark shell 操作hive关联Hbase的外表导致报错;hive使用tez引擎操作关联Hbase的外表时报错。 问题1:使用tez或spark引擎,在hive查询时只要关联hbase的hive表就会有问题其他表正常。 “org.apache.hadoop.hbase.client.RetriesExhaustedException:Can’t get …...

【MQ】RabbitMQ 高可用延时功能的探究

延迟消息如果使用延时交换机来实现&#xff0c;如果数据量过大&#xff0c;就会很占 CPU 资源&#xff0c;轻则时间误差大&#xff0c;重则 RabbitMQ 宕机 一、针对一个 RabbitMQ 节点 &#xff08;1&#xff09;利用队列 ttl&#xff0c;将延迟消息根据 delay 的时间进行分级…...

网络安全讲座之一:网络安全的重要性

第一讲内容主要对于安全的发展以及其重要性作了简明的阐述&#xff0c;并介绍了一些国内外知名的网络安全相关网站&#xff0c;并对于如何建立有效的安全策略给出了很好的建议&#xff0c;并让大家了解几种安全标准。   媒体经常报道一些有关网络安全威胁的令人震惊的事件&am…...

flutter ListView Item复用源码解析

Flutter 的 ListView 的 Item 复用机制是其高性能列表渲染的核心&#xff0c;底层实现依赖于 Flutter 的渲染管线、Element 树和 Widget 树的协调机制。以下是 ListView 复用机制的源码级解析&#xff0c;结合关键类和核心逻辑进行分析。 1. ListView 的底层结构 ListView 的复…...

基于java手机销售网站设计和实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

HTML 左右联动高亮示例

HTML 左右联动高亮示例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>左右联动高亮示例</titl…...

如何本地部署DeepSeek

第一步&#xff1a;安装ollama https://ollama.com/download 打开官网&#xff0c;选择对应版本 第二步&#xff1a;选择合适的模型 https://ollama.com/ 模型名称中的 1.5B、7B、8B 等数字代表模型的参数量&#xff08;Parameters&#xff09;&#xff0c;其中 B 是英文 B…...

虚拟机+Docker配置主机代理和常见配置

完整配置流程如下&#xff1a; 配置虚拟机使用宿主机代理&#xff1a; # 设置环境变量&#xff08;宿主机IP为192.168.100.1&#xff0c;代理端口7890&#xff09; export http_proxyhttp://192.168.100.1:7890 export https_proxyhttp://192.168.100.1:7890# 测试代理是否生…...

996引擎-问题处理:盟重传送石问题

996引擎-问题处理:盟重传送石问题 问题解决方案补充:回城卷参考资料问题 今天添加了个新地图,由于这个版本只有盟重传送石没设计回城卷。 所以怎么搞都回不到新地图的回城点。(当时也是懵逼了都忘记它叫 盟重 传送石`) 分析 先看一下道具表的配置。 [@StdModeFuncX] 表示…...

从零到一学习c++(基础篇--筑基期七-vector与迭代器)

从零到一学习C&#xff08;基础篇&#xff09; 作者&#xff1a;羡鱼肘子 温馨提示1&#xff1a;本篇是记录我的学习经历&#xff0c;会有不少片面的认知&#xff0c;万分期待您的指正。 温馨提示2&#xff1a;本篇会尽量用更加通俗的语言介绍c的基础&#xff0c;用通俗的语言去…...

PKI及SSL协议分析

PKI的基本组成&#xff0c;完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口&#xff08;API&#xff09;等基本构成部分&#xff0c;构建PKI也将围绕着这五大系统来着手构建。 任务一&#xff1a;搭建CA服务器 本任务初步了…...

请解释 JavaScript 中的函数式编程,优缺点是什么?

一、对JavaScript函数式编程的理解 函数式编程&#xff08;Functional Programming&#xff0c;FP&#xff09;是一种编程范式&#xff0c;它将计算视为数学函数的求值&#xff0c;并避免改变状态和可变数据。 在JavaScript中&#xff0c;函数式编程具有以下几个关键特性&…...

WPS接入DeepSeek模型

1.wps 下载安装 WPS-支持多人在线协作编辑Word、Excel和PPT文档_WPS官方网站 &#xff08;最好是安装最新的wps&#xff09; 2.offieceAi工具下载安装 软件下载 | OfficeAI助手 下载后安装下载下来的两个工具。安装路径可以自行修改 3.打开WPS,点击文件-》 选项-》信任中心 勾…...

头条百度批量采集软件说明文档

旧版说明文档《头条号文章批量采集软件4.0版本说明文档&#xff01;头条/微头条文章批量采集》 头条的采集软件已经更新了好多个版本了&#xff0c;一直没有做详细的介绍文档&#xff0c;最近更新了一些功能进去&#xff0c;一块来写一下说明文档。 1、主界面 2、头条作者采集…...

网络安全架构师怎么考 网络安全 架构

安全通信网络 随着现代技术的不断发展&#xff0c;等级保护对象通常通过网络实现资源共享和数据交互&#xff0c;当大量的设备连成网络后&#xff0c;网络安全成了最为关注的问题。按照“一个中心&#xff0c;三重防御”的纵深防御思想&#xff0c;边界外部通过广域网或城域网…...

Vue 3 30天精进之旅:Day 21 - 项目实践:打造功能完备的Todo应用

前言 经过前20天的学习&#xff0c;我们已经掌握了Vue 3的核心概念、组合式API、路由、状态管理等关键技术。今天将通过一个完整的项目实践——Todo应用&#xff0c;将所学知识融会贯通。我们将为Todo应用添加编辑、删除、过滤等进阶功能&#xff0c;并优化代码结构。 一、项目…...

2025年02月11日Github流行趋势

项目名称&#xff1a;unsloth 项目地址url&#xff1a;https://github.com/unslothai/unsloth项目语言&#xff1a;Python历史star数&#xff1a;27175今日star数&#xff1a;1024项目维护者&#xff1a;danielhanchen, shimmyshimmer, Erland366, Datta0, xyangk项目简介&…...

嵌入式硬件篇---原码、补码、反码

文章目录 前言简介八进制原码、反码、补码1. 原码规则示例问题 2. 反码规则示例问题 3. 补码规则示例优点 4. 补码的运算5. 总结 十六进制原码、反码、补码1. 十六进制的基本概念2. 十六进制的原码规则示例 3. 十六进制的反码规则示例 4. 十六进制的补码规则示例 5. 十六进制补…...

PCM与G711A互转

PCM与G711A互转 工具类&#xff08;Java&#xff09;调用方法&#xff08;Kotlin&#xff09; 工具类&#xff08;Java&#xff09; public class G711Code {private final static int SIGN_BIT 0x80;private final static int QUANT_MASK 0xf;private final static int SEG…...

MapReduce简单应用(三)——高级WordCount

目录 1. 高级WordCount1.1 IntWritable降序排列1.2 输入输出格式1.3 处理流程 2. 代码和结果2.1 pom.xml中依赖配置2.2 工具类util2.3 高级WordCount2.4 结果 参考 本文引用的Apache Hadoop源代码基于Apache许可证 2.0&#xff0c;详情请参阅 Apache许可证2.0。 1. 高级WordCo…...

C# 数据验证Regex

Regular Expression&#xff0c;简称 Regex,是一种用于匹配和处理文本的强大工具。它通过定义特定的模式&#xff0c;可以用来搜索、替换或提取字符串中的特定内容。 先引入命名空间 using System.Text.RegularExpressions; Intege(整数) 必须是正整数 //必须是正整数publi…...

Jenkins+gitee 搭建自动化部署

Jenkinsgitee 搭建自动化部署 环境说明&#xff1a; 软件版本备注CentOS8.5.2111JDK1.8.0_211Maven3.8.8git2.27.0Jenkins2.319最好选稳定版本&#xff0c;不然安装插件有点麻烦 一、安装Jenkins程序 1、到官网下载相应的版本war或者直接使用yum安装 Jenkins官网下载 直接…...

C/C++混合读入cin与scanf问题

因为C/C在某些时候是如此的融洽&#xff0c;以至于很多时候可能会混用&#xff0c;就比如 scanf与cin或getline(cin, ..)这是一个严肃的问题。因为随意混用&#xff0c;可能导致&#xff0c;在某些特殊时刻&#xff0c;读取混乱。所以本篇的意义就是为了缕清混用机制 一、scan…...

矩阵 NFC 碰一碰发视频源码搭建技术解析,支持OEM

一、引言 在移动互联与物联网飞速发展的当下&#xff0c;NFC&#xff08;Near Field Communication&#xff0c;近场通信&#xff09;技术凭借其便捷、快速的数据传输特性&#xff0c;在众多领域得到广泛应用。本文将深入探讨如何搭建矩阵 NFC 碰一碰发视频的源码&#xff0c;…...

Log4j定制JSON格式日志输出

1.前言 log4j是Java中一个强大的日志记录框架&#xff0c;通过简单的配置便可以在程序中进行日志打印与记录。关于log4j博主最近碰到一个需求&#xff0c;需要将程序运行过程中的日志按给定的json模板输出&#xff0c;本文记录一下log4j如何配置json格式的日志打印。 2.日志配…...

Spring依赖注入方式

写在前面&#xff1a;大家好&#xff01;我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正&#xff0c;感谢大家的不吝赐教。我的唯一博客更新地址是&#xff1a;https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油&#xff0c;冲鸭&#x…...

【C++八股】什么是函数指针,如何定义和使⽤场景

函数指针是指向函数的指针变量&#xff0c;它存储的是一个函数的地址&#xff0c;允许通过指针间接调用函数。使用函数指针可以动态地选择和调用函数&#xff0c;或者将函数作为参数传递给其他函数。 1. 函数指针的定义 函数指针的定义与普通指针稍有不同。它需要声明指向特定…...

DeepSeek 入驻 Cursor —— 表现能否超越 Claude?

DeepSeek 刚刚在 Cursor 平台上线了它的两款模型&#xff1a;DeepSeek V3 和 R1。目前&#xff0c;许多开发者&#xff08;包括我们在内&#xff09;主要依赖 Claude 3.5 Sonnet&#xff08;最新版本 claude-3-5-sonnet-20241022&#xff09;作为主要语言模型&#xff0c;因此我…...

skynet-src/atomic.h:25:23: 致命错误:stdatomic.h:没有那个文件或目录

skynet-src/atomic.h:25:23: 致命错误&#xff1a;stdatomic.h&#xff1a;没有那个文件或目录 故事背景&#xff0c;又接了一个新项目&#xff0c;要搞开发环境啊。skyent的框架。ubuntu已经跑起来了&#xff0c;但是内网是centos的跑不起来。只能怀疑是环境问题了&#xff0…...

docker compose部署nexus

整个工具的代码都在Gitee或者Github地址内 gitee&#xff1a;solomon-parent: 这个项目主要是总结了工作上遇到的问题以及学习一些框架用于整合例如:rabbitMq、reids、Mqtt、S3协议的文件服务器、mongodb github&#xff1a;GitHub - ZeroNing/solomon-parent: 这个项目主要是…...

IBM服务器刀箱Blade安装Hyper-V Server 2019 操作系统

案例:刀箱某一blade,例如 blade 5 安装 Hyper-V Server 2019 操作系统(安装进硬盘) 刀箱USB插入安装系统U盘,登录192.168... IBM BlandeCenter Restart Blande 5,如果Restart 没反应,那就 Power Off Blade 然后再 Power On 重启后进入BIOS界面设置usb存储为开机启动项 …...

Python的顺序结构和循环结构

文章目录 一、条件语句&#xff08;1&#xff09;条件语句的定义&#xff08;2&#xff09;条件语句的语法&#xff08;a&#xff09;单分支 if&#xff08;b&#xff09;双分支 if-else&#xff08;c&#xff09;多分支 if-elif-elif-...-else &#xff08;3&#xff09;注意事…...

[python SQLAlchemy数据库操作入门]-30.掌握 SQLAlchemy:优雅应对数据库异常的艺术

哈喽,大家好,我是木头左! 捕获和处理 SQLAlchemy 异常 在实际应用中,需要根据不同的异常类型采取不同的处理策略。下面是一个示例,展示了如何捕获和处理 SQLAlchemy 的异常。 from sqlalchemy import create_engine, Column, Integer, String, exc from sqlalchemy.ext.…...

编译和链接【三】

文章目录 编译和链接【三】前言系列文章入口编译过程词法分析语法分析语义分析生成中间代码汇编链接 编译和链接【三】 前言 在我大一的时候&#xff0c; 我使用VC6.0对C语言程序进行编译链接和运行 &#xff0c; 然后我接触了VS&#xff0c; Qt creator等众多IDE&#xff0c…...

11苍穹外卖之Apache ECharts(数据可视化图表、后端传数据)

课程内容 Apache ECharts 营业额统计 用户统计 订单统计 销量排名Top10 功能实现&#xff1a;数据统计 数据统计效果图&#xff1a; 1. Apache ECharts 1.1 介绍 Apache ECharts 是一款基于 Javascript 的数据可视化图表库&#xff0c;提供直观&#xff0c;生动&#…...

Grafana-使用Button修改MySQL数据库

背景 众所周知&#xff0c;Grafana是一个用来展示数据的平台&#xff0c;但是有时候还是会有需求说能不能有一个按钮&#xff0c;点击的时候再对数据库进行修改&#xff0c;从而达到更新数据的效果 经过多方查证&#xff0c;终于实现了一个简单的&#xff0c;点击button执行sq…...

C++11语法及库详解

目录 一、c11语法 1. 自动类型推导 (auto) 2. 基于范围的 for 循环 3. Lambda 表达式 4. 智能指针 5. 右值引用和移动语义 6. nullptr 关键字 7. constexpr 关键字 8. 初始化列表 9. std::thread 多线程支持 10. std::function 和 std::bind 11. std::unordered_map…...

数据库,数据表的增删改查操作

一.数据库的基本操作 &#xff08;1&#xff09;创建数据库 创建数据库就是在数据库系统中划分一块存储数据的空间&#xff0c;方便数据的分配、放置和管理。在MySQL中使用CREATE DATABASE命令创建数据库&#xff0c;语法格式如下: CREATE DATABASE数据库名称; 注&#xff1a…...

Python——批量图片转PDF(GUI版本)

目录 专栏导读1、背景介绍2、库的安装3、核心代码4、完整代码总结专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注 👍 该系列文章专栏:请点击——>Python办公自动化专…...

RocketMQ面试题:原理部分

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…...