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

算法刷题整理合集(一)

算法刷题整理合集(一)

本篇博客旨在记录自已的算法刷题练习成长,里面注有详细的代码注释以及和个人的思路想法,希望可以给同道之人些许帮助。本人也是算法小白,水平有限,如果文章中有什么错误或遗漏之处,望各位可以在评论区指正出来,各位共勉💪。

文章目录

  • 算法刷题整理合集(一)
      • 1、砍竹子
      • 2、01背包问题
      • 3、蓝桥村的真相
      • 4、商品库存管理
      • 5、神奇闹钟
      • 6、拉马车

1、砍竹子

这天, 小明在砍竹子, 他面前有 n 棵竹子排成一排, 一开始第 i 棵竹子的 高度为 hi

他觉得一棵一棵砍太慢了, 决定使用魔法来砍竹子。魔法可以对连续的一 段相同高度的竹子使用, 假设这一段竹子的高度为 H, 那么用一次魔法可以 把这一段竹子的高度都变为|√|H/2| +1|, 其中 ⌊x⌋ 表示对 x 向下取整。小明想 知道他最少使用多少次魔法可

让所有的竹子的高度都变为 1 。

用例规模:
对于 20% 的数据, 保证 n≤1000, hi≤10^6 。 对于 100% 的数据, 保证 n ≤ 2×10^5, hi ≤ 10^18 。

解题代码:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();  // 读取输入的整数n,代表竹子数量。long[][] num = new long[n + 1][10];// 创建一个二维数组num,用于存储每个竹子的高度序列。long[] std = new long[10];  //  创建一个一维数组刷std,用于存储每个主子在计算过程中的高度。long count = 0;  // 初始化计数器count,用于统计总高度序列的长度for (int i = 1; i <= n; i++) {  // 遍历每个竹子int top = 0;  // 初始化数组std的索引long h = sc.nextLong();  // 读取当前竹子的高度std[top] = h;  // 将高度存入std数组while (h > 1){  // 当高度大于1时继续循环top++;  // std数组索引递增h=sqrt(h/2+1); // 根据规则计算新的高度std[top]=h; // 将新的高度存入std数组}for(int j=0,k=top-1;k>=0;k--,j++){ // 将std数组逆序存入num数组的对应位置num[i][j]=std[k];}count+=top; // 将当前竹子的高度序列长度加到count上}// 遍历二维数组num,检查相邻竹子之间是否有相同的高度,如果有则减少countfor(int i=0;i<10;i++){ // 遍历高度序列的每一位for(int j=2;j<=n;j++){ // 从第二个竹子开始遍历if(num[j][i]>0&&num[j][i]==num[j-1][i])count--; // 如果当前竹子高度大于0且与前一个竹子相同,则减少count}}System.out.println(count); // 输出最终的count值,即所有竹子高度序列的总长度(去重后)}// 自定义的求平方根的函数,用于替代Math.sqrt,因为Math.sqrt不支持long类型public static long sqrt(long h){long x=0; // 初始化结果xlong start=1l,end=(long)1e9,mid=0; // 初始化二分查找的起始、结束和中间值while(start<=end){ // 二分查找平方根mid=(start+end)/2; // 计算中间值if(mid*mid<=h){ // 如果中间值的平方小于等于hx=mid; // 更新结果xstart=mid+1; // 缩小查找范围到右半部分}else end=mid-1; // 否则缩小查找范围到左半部分}return x; // 返回结果x}
}

2、01背包问题

有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。

第 i 件物品的体积是 vi,价值是 wi。

求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。
输出最大价值。

数据范围:

0<N, V ≤1000
0<vi, wi ≤1000

解题代码:

import java.util.Scanner;public class Main {public static void main(String[] args) throws Exception{Scanner sc = new Scanner(System.in);int N = sc.nextInt();int V = sc.nextInt();// 表示物品数量和背包容积。int[] v = new int[N+1];int[] w = new int[N+1];// 第 i 件物品的体积和价值。for (int i = 1; i <= N; i++) {v[i] = sc.nextInt();w[i] = sc.nextInt();}sc.close();// ②01问题int[] dp = new int[V+1];dp[0] = 0;for(int i = 1; i <= N; i++){for(int j = V; j >= v[i]; j--){dp[j] = Math.max(dp[j], dp[j-v[i]] + w[i]);}}System.out.println(dp[V]);}
}

3、蓝桥村的真相

在风景如画的蓝桥村,n名村民围坐在一张古老的圆桌旁,参与一场思想的较量。这些村民,每一位都有着鲜明的身份:要么是誉满乡野的诚实者,要么是无可救药的说谎者。
当会议的钟声敲响,一场关于真理与谬误的辩论随之展开。每位村民轮流发言,编号为 i 的村民提出了这样的断言:坐在他之后的两位村民—也就是编号i+1和i+2(注意,编号是环形的,所以如果i是最后一个,则i+1是第一个,以此类推)之中,一个说的是真话,而另一个说的是假话。
在所有摇曳不定的陈述中,有多少真言隐藏在谎言的面纱之后?
请你探索每一种可能的真假排列组合,并计算在所有可能的真假组合中,说谎者的总数。

用例规模:

对于 10% 的评测用例,T = 1,3 ≤ n ≤ 10。

对于 40% 的评测用例,1 ≤ T ≤ 10^2,3 ≤ n ≤ 3 x 10^3

对于所有评测用例,1 ≤ T ≤ 10^5,3 ≤ n ≤ 10^18

解题代码:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);// 表示数据的组数。int T = sc.nextInt();long[] Result = new long[T];for (int i = 0; i < T; i++) {// 表示村落的人数long k = sc.nextLong();// 当取余3不等于0时,则村落人数即为所有真假组合中,说谎者的总数if (k%3 != 0) {Result[i] = k;}else {long s = k/3;Result[i] = k+s*3;}}// 所有真假组合中,说谎者的总数for (int i = 0; i < T; i++) {System.out.println(Result[i]);}}
}

4、商品库存管理

在库存管理系统中,跟踪和调节商品库存量是关键任务之一。小蓝经营的仓库中存有多种商品,这些商品根据类别和规格被有序地分类并编号,编号范围从1至 n。初始时,每种商品的库存量均为 0。

为了高效地监控和调整库存量,小蓝的管理团队设计了m个操作,每个操作涉及到一个特定的商品区间,即一段连续的商品编号范围(例如区间 [L,R] )。执行这些操作时,区间内每种商品的库存量都将增加 1。然而,在某些情况下,管理团队可能会决定不执行某些操作,使得这些操作涉及的商品区间内的库存量不会发生改变,维持原有的状态。

现在,管理团队需要一个评估机制,来确定如果某个操作未被执行那么最终会有多少种商品的库存量为 0。对此,请你为管理团队计算出,每个操作未执行时,库存量为0 的商品的种类数。

用例规模:

对于20%的评测用例,1 ≤ nm ≤ 5×10^3,1 ≤ L ≤ R ≤ n 。

对于所有评测用例,1≤ n,m≤ 3*10^5,1 ≤ L ≤ R ≤ n。

解题代码:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();int m = scan.nextInt();int[][] operate = new int[m][2]; // 记录每次的操作区间int[] d = new int[n + 2]; // 差分数组,索引范围 0 到 n+1// 读取操作并更新差分数组for (int i = 0; i < m; i++) {int L = scan.nextInt();int R = scan.nextInt();operate[i][0] = L;operate[i][1] = R;// 更新差分数组d[L]++;if (R + 1 <= n) {d[R + 1]--;}}// 计算每个商品的库存操作次数总和int[] sum = new int[n + 1];for (int i = 1; i <= n; i++) {sum[i] = sum[i - 1] + d[i];}// 预处理前缀和数组,统计库存为 0 和 1 的商品数量int[] preZero = new int[n + 1]; // 前缀和数组,统计库存为 0 的商品数量int[] preOne = new int[n + 1];  // 前缀和数组,统计库存为 1 的商品数量for (int i = 1; i <= n; i++) {preZero[i] = preZero[i - 1];preOne[i] = preOne[i - 1];if (sum[i] == 0) {preZero[i]++;} else if (sum[i] == 1) {preOne[i]++;}}// 计算未进行任何撤回操作时库存为 0 的商品数量int zeroCount = preZero[n];// 处理每个操作for (int i = 0; i < m; i++) {int L = operate[i][0];int R = operate[i][1];// 计算区间内库存为 0 和 1 的商品数量int cntZero = preZero[R] - preZero[L - 1];int cntOne = preOne[R] - preOne[L - 1];// 计算结果int res = (zeroCount - cntZero) + cntOne;System.out.println(res);}}
}

5、神奇闹钟

小蓝发现了一个神奇的闹钟,从纪元时间(1970年1月1日00:00:00)开始,每经过 x 分钟,这个闹钟便会触发一次闹铃(纪元时间也会响铃)。这引起了小蓝的兴趣,他想要好好研究下这个闹钟。

对于给出的任意一个格式为 yyyy-MM-dd HH:mm:ss 的时间小蓝想要知道在这个时间点之前(包含这个时间点)的最近的一次闹铃时间是哪个时间?
注意,你不必考虑时区问题。

用例规模:

对于所有评测用例,1 ≤ T ≤ 10,1 ≤ x ≤ 1000,保证所有的时间格式都是合法的。

解题代码:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;public class Main06 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int T = sc.nextInt();sc.nextLine();DateTimeFormatter ft = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");// 定义自定义格式LocalDateTime startTime = LocalDateTime.of(1970,1,1,0,0,0);// LocalDateTime.of()用于创建一个指定年月日时分秒的LocaldateTime对象for (int i = 0; i < T; i++) {String input = sc.nextLine(); // 读取输入String[] parts = input.split(" "); // 将输入的字符串分为三部分String dateTimeStr = parts[0]+" "+parts[1]; // 1,2部分为时间int x = Integer.parseInt(parts[2]);//3部分为闹铃时间间隔LocalDateTime dateTime = LocalDateTime.parse(dateTimeStr, ft); // format将字符串转为时间// LocalDateTime.parse()将字符串解析为LocalDateTime对象,需要指定格式long delteMin = java.time.Duration.between(startTime, dateTime).toMinutes();//获取总的时间间隔// Duration.between 用于计算时间间隔,toMinutes()转换为分钟数long n = delteMin / x; // 求有多少个闹铃间隔时间xLocalDateTime result = startTime.plusMinutes(n*x); System.out.println(result.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));}}
}

6、拉马车

小的时候,你玩过纸牌游戏吗?

有一种叫做"拉马车"的游戏,规则很简单,却很吸引小朋友。

其规则简述如下:

假设参加游戏的小朋友是 AB ,游戏开始的时候,他们得到的随机的纸牌序列如下:

AA 方:[K,8,X,K,A,2,A,9,5,A]

BB 方:[2,7,K,5,J,5,Q,6,K,4]

其中的 XX 表示 “10”,我们忽略了纸牌的花色。

A 方开始,AB双方轮流出牌。

当轮到某一方出牌时,他从自己的纸牌队列的头部拿走一张,放到桌上,并且压在最上面一张纸牌上(如果有的话)。

此例中,游戏过程:

A出K,B出2,A出8,B出7,A出X,此时桌上的序列为:K,2,8,7,X

当轮到 B 出牌时,他的牌 K 与桌上的纸牌序列中的 K 相同,则把包括 K 在内的以及两个 K 之间的纸牌都赢回来,放入自己牌的队尾。注意:为了操作方便,放入牌的顺序是与桌上的顺序相反的。

此时,AB双方的手里牌为:

A 方:[K,A,2,A,9,5,A]

B 方:[5,J,5,Q,6,K,4,K,X,7,8,2,K]

赢牌的一方继续出牌。也就是 B接着出5,A出K,B出J,A出4,B 出5,又赢牌了。此时桌上的序列为:

5, K ,J ,A ,5

此时双方手里牌:

A 方:[2,A,9,5,A]

B 方:[Q,6,K,4,K,X,7,8,2,K,5,A,J,K,5]

注意:更多的时候赢牌的一方并不能把桌上的牌都赢走,而是拿走相同牌点及其中间的部分。但无论如何,都是赢牌的一方继续出牌,有的时候刚一出牌又赢了,也是允许的。

当某一方出掉手里最后一张牌,但无法从桌面上赢取牌时,游戏立即结束。

对于本例的初始手牌情况下,最后 A 会输掉,而 B 最后的手里牌为:

9K2A62KAX58K57KJ5

本题的任务就是已知双方初始牌序,计算游戏结束时,赢的一方手里的牌序。当游戏无法结束时,输出 -1。

输入描述

输入为 2 行,2 个串,分别表示 A*、*B 双方初始手里的牌序列。我们约定,输入的串的长度不超过 30。2J9A7QA6Q6889977

输出描述

输出为 1 行,1 个串,表示 A 先出牌,最后赢的一方手里的牌序。

解题代码:

import java.util.Scanner;public class Main {public static boolean isflagA = true;public static boolean isflagB = false;public static void main(String[] args) {Scanner sc = new Scanner(System.in);// 1.定义A,B,桌面的牌String a = sc.nextLine();String b = sc.nextLine();// A ,B, 桌面StringBuilder A = new StringBuilder(a);StringBuilder B = new StringBuilder(b);StringBuilder C = new StringBuilder();sc.close();while (true){// 判断是否继续出牌if (isflagA){play(A,C, true);// A手中牌为空时,则B赢,游戏结束if (A.length() == 0){System.out.println(B);break;}} else if (isflagB) {// B手中牌为空时,则A赢,游戏结束play(B,C,false);if (B.length() == 0){System.out.println(A);break;}}}}// 2.当你出的牌与桌面上有相同的牌,则将其之间的牌倒序收回到自己的牌堆,并继续出牌//当A,B其中一方手中为空时,则游戏结束,当游戏无法结束输出-1.// 出牌阶段public static void play(StringBuilder x, StringBuilder y, boolean isflag){if (x.length() == 0) return; // 判断手牌是否为空// 查找手牌中第一张,在牌堆里是否有相同的char front = x.charAt(0);int pos = y.indexOf(String.valueOf(front));// 当牌堆里不存在时,则下一个人出牌if (pos == -1){y.insert(0,front);isflagA = !isflag;isflagB = isflag;}else {// 当存在时,则将其包含在内的牌倒叙收回手牌里x.append(front);for (int i = 0; i <= pos; i++) {x.append(y.charAt(i));}// 去掉桌面上收回的牌y.delete(0,pos+1);// 收回后,继续出牌if (isflag){isflagA = true;isflagB = false;}else {isflagA = false;isflagB = true;}}x.deleteCharAt(0);}
}

有帮助的话,希望可以点赞❤️+收藏⭐,谢谢各位大佬~~✨️✨️✨️

相关文章:

算法刷题整理合集(一)

算法刷题整理合集&#xff08;一&#xff09; 本篇博客旨在记录自已的算法刷题练习成长&#xff0c;里面注有详细的代码注释以及和个人的思路想法&#xff0c;希望可以给同道之人些许帮助。本人也是算法小白&#xff0c;水平有限&#xff0c;如果文章中有什么错误或遗漏之处&am…...

C++ STL—— String库

在C编程中&#xff0c;字符串操作是几乎每个项目都会涉及的基础功能。C标准模板库&#xff08;STL&#xff09;中的string类为我们提供了强大而灵活的工具&#xff0c;使得字符串的处理变得简单高效。无论是字符串的创建、修改、查找&#xff0c;还是复杂的文本处理&#xff0c…...

【从零开始学习计算机科学】数据库系统(二)关系数据库 与 关系代数

【从零开始学习计算机科学】数据库系统(二)关系数据库 与 关系代数 关系数据库结构化查询语言SQL数据定义语言(DDL)数据查询语言(Data Query Language, DQL)数据操纵语言(Data Manipulation Language, DML)数据控制语言(Data Control Language, DCL)关系型数据库的优…...

DoS攻击防范

一、网络架构优化 使用CDN或反向代理 通过内容分发网络&#xff08;CDN&#xff09;或反向代理&#xff08;如Nginx&#xff09;分散流量&#xff0c;将请求分发到多个服务器节点&#xff0c;减轻单点压力&#xff0c;同时过滤异常请求。 负载均衡技术 部署负载均衡设备&#…...

Linux驱动开发实战(四):设备树点RGB灯

Linux驱动开发实战&#xff08;四&#xff09;&#xff1a;设备树点RGB灯 文章目录 Linux驱动开发实战&#xff08;四&#xff09;&#xff1a;设备树点RGB灯前言一、驱动实现1.1 驱动设计思路1.2 关键数据结构1.3 字符设备操作函数1.4 平台驱动探测函数1.5 匹配表和平台驱动结…...

vue中,watch里,this为undefined的两种解决办法

提示&#xff1a;vue中&#xff0c;watch里&#xff0c;this为undefined的两种解决办法 文章目录 [TOC](文章目录) 前言一、问题二、方法1——使用function函数代替箭头函数()>{}三、方法2——使用that总结 前言 ‌‌‌‌‌尽量使用方法1——使用function函数代替箭头函数()…...

设计模式C++

针对一些经典的常见的场景, 给定了一些对应的解决方案&#xff0c;这个就叫设计模式。 设计模式的作用&#xff1a;使代码的可重用性高&#xff0c;可读性强&#xff0c;灵活性好&#xff0c;可维护性强。 设计原则&#xff1a; 单一职责原则&#xff1a;一个类只做一方面的…...

前端构建工具进化论:从Grunt到Turbopack的十年征程

前端构建工具进化论&#xff1a;从Grunt到Turbopack的十年征程 一、石器时代&#xff1a;任务自动化工具&#xff08;2012-2014&#xff09; 1.1 Grunt&#xff1a;首个主流构建工具 // Gruntfile.js 典型配置 module.exports function(grunt) {grunt.initConfig({concat: {…...

设备预测性维护:企业降本增效的关键密码​

在当今竞争激烈的商业战场中&#xff0c;企业犹如一艘在波涛汹涌大海上航行的巨轮&#xff0c;要想乘风破浪、稳步前行&#xff0c;降本增效便是那至关重要的 “船锚”&#xff0c;帮助企业在复杂的市场环境中站稳脚跟。而设备预测性维护&#xff0c;正是开启企业降本增效大门的…...

css基本功

为什么 ::first-letter 是伪元素&#xff1f; ::first-letter 的作用是选择并样式化元素的第一个字母&#xff0c;它创建了一个虚拟的元素来包裹这个字母&#xff0c;因此属于伪元素。 grid布局 案例一 <!DOCTYPE html> <html lang"zh-CN"><head&…...

信号处理抽取多项滤波的数学推导与仿真

昨天的《信号处理之插值、抽取与多项滤波》&#xff0c;已经介绍了插值抽取的多项滤率&#xff0c;今天详细介绍多项滤波的数学推导&#xff0c;并附上实战仿真代码。 一、数学变换推导 1. 多相分解的核心思想 将FIR滤波器的系数 h ( n ) h(n) h(n)按相位分组&#xff0c;每…...

C++双端队列知识点+习题

在C中&#xff0c;双端队列&#xff08;Deque&#xff0c;发音为“deck”&#xff09;是标准模板库&#xff08;STL&#xff09;中的一种容器适配器&#xff0c;其全称为Double-Ended Queue。它结合了队列和栈的特点&#xff0c;允许在容器的两端&#xff08;前端和后端&#x…...

【递归、搜索和回溯算法】专题二 :二叉树中的深搜

二叉树中的深搜 深度优先遍历&#xff08;DFS&#xff09;&#xff1a;一种沿着树或图的深度遍历节点的算法&#xff0c;尽可能深地搜索树或图的分支&#xff0c;如果一条路径上的所有结点都被遍历完毕&#xff0c;就会回溯到上一层&#xff0c;继续找一条路遍历。 在二叉树中…...

Vue3计算属性深度解析:经典场景与Vue2对比

一、计算属性的核心价值 计算属性&#xff08;Computed Properties&#xff09;是Vue响应式系统的核心特性之一&#xff0c;它通过依赖追踪和缓存机制优雅地解决模板中复杂逻辑的问题。当我们需要基于现有响应式数据进行派生计算时&#xff0c;计算属性总能保持高效的性能表现…...

UE5与U3D引擎对比分析

Unreal Engine 5&#xff08;UE5&#xff09;和Unity 3D&#xff08;U3D&#xff09;是两款主流的游戏引擎&#xff0c;适用于不同类型的项目开发。以下是它们的主要区别&#xff0c;分点整理&#xff1a; 1. 核心定位 UE5&#xff1a; 主打3A级高画质项目&#xff08;如主机/P…...

【vue3学习笔记】(第150-151节)computed计算属性;watch监视ref定义的数据

尚硅谷Vue2.0Vue3.0全套教程丨vuejs从入门到精通 本篇内容对应课程第150-151节 课程 P150节 《computed计算属性》笔记 写一个简单的 姓、名输入框效果&#xff1a; 用vue2的形式定义一个计算属性 fullName&#xff1a; 测试页面展示无问题&#xff1a; 但是&#xff0c;在vue…...

JavaScript如何实现复制图片功能?

最近开发中遇到一个需求&#xff0c;就是用户希望能通过直接点击按钮复制图片&#xff0c;然后就可以很方便的把图片发送到班群中&#xff0c;于是就有了复制图片的需求。 那么如何通过JavaScript来实现复制图片呢&#xff1f; 一、前置知识&#xff1a;如何实现复制&#xf…...

MySQL 8 设置允许远程连接(Windows环境)

&#x1f31f; MySQL 8 设置允许远程连接&#xff08;Windows环境&#xff09; 在开发和部署应用时&#xff0c;经常需要从远程主机连接到MySQL数据库。默认情况下&#xff0c;MySQL仅允许本地连接&#xff0c;因此需要进行一些配置才能允许远程访问。今天&#xff0c;我将详细…...

我又又又又又又更新了~~纯手工编写C++画图,有注释~~~

再再再次感谢Ttcofee提的问题 本次更新内容&#xff1a; 鼠标图案&#xff08;切换&#xff09;&#xff0c;版本号获取&#xff0c;输入框复制剪切板 提前申明&#xff1a;如果运行不了&#xff0c;请到主页查看RedpandaDevc下载&#xff0c;若还是不行就卸了重装。 版本号&…...

Python控制语句——循环语句-for

1.下面的语句哪个会无限循环下去()。 A、 for a in range(10): time.sleep(10) B、 while 1<10: time.sleep(10) C、 while True: break D、 a = [3,-1,2] for i in a: if i==-1: break 答案:B。1<10始终为True,循环体中又没有break的条件,故B会无限循环。 2.for s i…...

全面解析:将采购入库单数据集成到MySQL的技术实施

旺店通旗舰版-采购入库单集成到MySQL的技术案例分享 在数据驱动的业务环境中&#xff0c;如何高效、准确地实现系统间的数据对接是企业面临的重要挑战。本文将聚焦于一个具体的系统对接集成案例&#xff1a;将旺店通旗舰奇门平台上的采购入库单数据集成到MySQL数据库中&#x…...

12. Pandas :使用pandas读Excel文件的常用方法

一 read_excel 函数 其他参数根据实际需要进行查找。 1.接受一个工作表 在 11 案例用到的 Excel 工作簿中&#xff0c;数据是从第一张工作表的 A1 单元格开始的。但在实际场景中&#xff0c; Excel 文件可能并没有这么规整。所以 panda 提供了一些参数来优化读取过程。 比如 s…...

记录致远OA服务器硬盘升级过程

前言 日常使用中OA系统突然卡死&#xff0c;刷新访问进不去系统&#xff0c;ping服务器地址正常&#xff0c;立马登录服务器检查&#xff0c;一看磁盘爆了。 我大脑直接萎缩了&#xff0c;谁家OA系统配400G的空间啊&#xff0c;过我手的服务器没有50也是30台&#xff0c;还是…...

Java网络多线程

网络相关概念: 关于访问: IP端口 因为一个主机上可能有多个服务, 一个服务监听一个端口,当你访问的时候主机通过端口号就能知道要和哪个端口发生通讯.因此一个主机上不能有两个及以上的服务监听同一个端口. 协议简单来说就是数据的组织形式 好像是两个人交流一样,要保证自己说…...

【H2O2 | 软件开发】Axios发送Http请求

目录 前言 开篇语 准备工作 正文 概念 封装工具包 示例 结束语 前言 开篇语 本系列为短篇&#xff0c;每次讲述少量知识点&#xff0c;无需一次性灌输太多的新知识点。该主题文章主要是围绕前端、全栈开发相关面试常见问题撰写的&#xff0c;希望对诸位有所帮助。 如…...

VScode 运行LVGL

下载vscode解压 环境安装 安装mingw64&#xff0c;gcc 版本必须8.3以上 安装cmak 系统环境变量Path中添加&#xff08;以实际安装目录为准&#xff09; C:\Program Files\mingw64\bin C:\Program Files\CMake\bin 将GUI-Guider生成的代码目录拷贝一份放到vscode项目目录…...

AIP-165 按条件删除

编号165原文链接https://google.aip.dev/165状态批准创建日期2019-12-18更新日期2019-12-18 有时API需要提供一种机制&#xff0c;按照一些过滤参数删除大量资源&#xff0c;而非提供待删除的各资源名字。 这是一个稀有的场景&#xff0c;用于用户一次性删除数千或更多资源的…...

React Next项目中导入Echart世界航线图 并配置中文

公司业务要求做世界航线图&#xff0c;跑了三个ai未果&#xff0c;主要是引入world.json失败&#xff0c;echart包中并不携带该文件&#xff0c;源码的world.json文件页面404找不到。需要自己寻找。这是整个问题卡壳的关键点&#xff0c;特此贴出资源网址。 目录 一、安装 二…...

QT与网页显示数据公式的方法

一.网页中显示数学公式通常有三种主要方法 1.图片方式 原理&#xff1a;将公式转换为图片&#xff08;如 PNG、SVG&#xff09;&#xff0c;通过 <img> 标签嵌入网页。 实现步骤&#xff1a; 使用工具&#xff08;如 LaTeX dvipng、在线生成工具&#xff09;将公式渲…...

深入解析APP订阅页的运作机制(订阅页如何运作)

在当今数字经济的背景下&#xff0c;订阅模式已成为许多企业获取稳定收入的重要方式。无论是软件、视频流媒体还是电子商务&#xff0c;订阅服务都能为用户提供持续的价值体验。然而&#xff0c;如何有效地设计和运作一个订阅页&#xff0c;是决定用户是否愿意订阅的关键因素。…...