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

【2024年华为OD机试】(B卷,100分)- 求最小步数 (Java JS PythonC/C++)

在这里插入图片描述

一、问题描述

题目描述

求从坐标零点到坐标点 n 的最小步数,一次只能沿横坐标轴向左或向右移动 2 或 3。

注意:途径的坐标点可以为负数。

输入描述

坐标点 n

输出描述

输出从坐标零点移动到坐标点 n 的最小步数。

备注

1 <= n <= 10^9

用例

用例 1

输入:

4

输出:

2

说明:
从坐标零点移动到 4,最小需要两步,即右移 2,再右移 2。

题目解析

题目要求我们找到将数字 n 分解为若干个 23 的和,使得分解后的项数最少。通过观察小数量级的例子,我们可以总结出以下规律:


1. 小数量级的规律

n = 1n = 16 的分解情况如下:

n分解方式最少步数
1-2 + 32
221
331
42 + 22
53 + 22
63 + 32
73 + 2 + 23
83 + 3 + 23
93 + 3 + 33
103 + 3 + 2 + 24
113 + 3 + 3 + 24
123 + 3 + 3 + 34
133 + 3 + 3 + 2 + 25
143 + 3 + 3 + 3 + 25
153 + 3 + 3 + 3 + 35
163 + 3 + 3 + 3 + 2 + 26

2. 规律总结

n >= 4 开始,我们可以总结出以下规律:

  1. 每增加 3,最少步数增加 1

    • 例如:
      • n = 4 的最少步数是 2。
      • n = 7 的最少步数是 3。
      • n = 10 的最少步数是 4。
    • 这是因为每增加 3,相当于增加一个 3,而 3 的分解步数为 1。
  2. 分解中的 23 的作用

    • 如果分解中存在 2,那么 n + 1 可以通过将 2 替换为 3 来实现,此时最少步数保持不变。
      • 例如:
        • n = 4 的分解是 2 + 2,最少步数是 2。
        • n = 5 的分解是 3 + 2,最少步数仍然是 2。
    • 如果分解中不存在 2,那么 n + 1 需要通过将 3 替换为 2 + 2 来实现,此时最少步数增加 1。
      • 例如:
        • n = 6 的分解是 3 + 3,最少步数是 2。
        • n = 7 的分解是 3 + 2 + 2,最少步数增加到 3。

3. 通用规律

对于任意 n >= 4,最少步数可以通过以下方式计算:

  1. 计算 n 除以 3 的商和余数

    • n = 3 * k + r,其中 k 是商,r 是余数(r = 0, 1, 2)。
    • 如果 r = 0,则最少步数为 k
    • 如果 r = 1,则最少步数为 k - 1 + 2(将最后一个 3 替换为 2 + 2)。
    • 如果 r = 2,则最少步数为 k + 1
  2. 特殊情况

    • 对于 n = 1,需要特殊处理,因为无法直接用 23 分解。
    • 对于 n = 2n = 3,最少步数分别为 1。

4. 示例验证

示例 1:n = 7
  • 分解方式:3 + 2 + 2
  • 最少步数:3。
  • 验证:
    • 7 = 3 * 2 + 1,余数 r = 1
    • 最少步数 = 2 - 1 + 2 = 3
示例 2:n = 10
  • 分解方式:3 + 3 + 2 + 2
  • 最少步数:4。
  • 验证:
    • 10 = 3 * 3 + 1,余数 r = 1
    • 最少步数 = 3 - 1 + 2 = 4
示例 3:n = 12
  • 分解方式:3 + 3 + 3 + 3
  • 最少步数:4。
  • 验证:
    • 12 = 3 * 4 + 0,余数 r = 0
    • 最少步数 = 4

5. 总结

通过观察小数量级的例子,我们可以总结出以下规律:

  1. 对于 n >= 4,最少步数与 n 除以 3 的商和余数有关。
  2. 如果余数为 0,最少步数为商。
  3. 如果余数为 1,最少步数为商减 1 加 2。
  4. 如果余数为 2,最少步数为商加 1。

这种规律可以帮助我们快速计算任意 n 的最少步数,而无需逐个分解。

如果有其他问题,欢迎随时提问!

二、JavaScript算法源码

以下是 JavaScript 代码 的详细中文注释和逻辑讲解:


代码

/* JavaScript Node ACM模式 控制台输入获取 */
const readline = require("readline");// 创建 readline 接口实例
const rl = readline.createInterface({input: process.stdin,  // 输入流为标准输入output: process.stdout, // 输出流为标准输出
});// 监听输入事件
rl.on("line", (line) => {// 将输入转换为整数并调用 getResult 函数console.log(getResult(parseInt(line)));
});// 计算最少步数的函数
function getResult(n) {// 处理特殊情况if (n == 1) return 2; // n=1 时,最少步数为 2if (n == 2) return 1; // n=2 时,最少步数为 1if (n == 3) return 1; // n=3 时,最少步数为 1// 基础步数let base = 2; // 从 n=4 开始,最少步数为 2// 计算 n >= 4 时的最少步数return Math.floor((n - 4) / 3) + base;
}

代码逻辑讲解

1. 输入处理
  • 使用 readline 模块创建一个接口实例 rl,用于从控制台读取输入。
  • 监听 line 事件,当用户输入一行内容时,触发回调函数。
  • 在回调函数中:
    • 将输入内容 line 转换为整数 n
    • 调用 getResult(n) 函数计算最少步数,并输出结果。

2. 最少步数计算
  • 特殊情况处理
    • n = 1 时,最少步数为 2(因为 1 = -2 + 3)。
    • n = 2 时,最少步数为 1(因为 2 = 2)。
    • n = 3 时,最少步数为 1(因为 3 = 3)。
  • 通用规律
    • 对于 n >= 4,最少步数的计算方式为:
      • 基础步数 base = 2(从 n = 4 开始,最少步数为 2)。
      • 每增加 3,最少步数增加 1。
      • 公式:Math.floor((n - 4) / 3) + base

3. 公式推导
  • n = 4 开始
    • n = 4:最少步数为 2
    • n = 5:最少步数为 2
    • n = 6:最少步数为 2
    • n = 7:最少步数为 3
    • n = 8:最少步数为 3
    • n = 9:最少步数为 3
    • n = 10:最少步数为 4
    • 以此类推。
  • 规律
    • 每增加 3,最少步数增加 1。
    • 公式:Math.floor((n - 4) / 3) + base

4. 示例验证
示例 1:n = 4
  • 计算:
    • Math.floor((4 - 4) / 3) + 2 = 0 + 2 = 2
  • 结果:
    • 最少步数为 2(符合 4 = 2 + 2)。
示例 2:n = 7
  • 计算:
    • Math.floor((7 - 4) / 3) + 2 = 1 + 2 = 3
  • 结果:
    • 最少步数为 3(符合 7 = 3 + 2 + 2)。
示例 3:n = 10
  • 计算:
    • Math.floor((10 - 4) / 3) + 2 = 2 + 2 = 4
  • 结果:
    • 最少步数为 4(符合 10 = 3 + 3 + 2 + 2)。

总结

  • 功能:计算将数字 n 分解为若干个 23 的和,使得分解后的项数最少。
  • 核心逻辑
    1. 处理特殊情况(n = 1, 2, 3)。
    2. 对于 n >= 4,使用公式 Math.floor((n - 4) / 3) + base 计算最少步数。
  • 适用场景:需要将数字分解为 23 的和,且要求分解项数最少的场景。
  • 注意事项
    • 输入必须为正整数。
    • 对于 n = 1,需要特殊处理。

如果有其他问题,欢迎随时提问!

三、Java算法源码

以下是 Java 代码 的详细中文注释和逻辑讲解:


代码

import java.util.Scanner; // 导入 Scanner 类,用于读取输入public class Main {public static void main(String[] args) {// 创建 Scanner 对象,用于读取控制台输入Scanner sc = new Scanner(System.in);// 读取输入的整数 nint n = sc.nextInt();// 调用 getResult 方法计算最少步数,并输出结果System.out.println(getResult(n));}// 计算最少步数的方法public static int getResult(int n) {// 处理特殊情况if (n == 1) return 2; // n=1 时,最少步数为 2(-2 + 3)if (n == 2) return 1; // n=2 时,最少步数为 1(2)if (n == 3) return 1; // n=3 时,最少步数为 1(3)// 基础步数int base = 2; // 从 n=4 开始,最少步数为 2// 计算 n >= 4 时的最少步数return (n - 4) / 3 + base;}
}

代码逻辑讲解

1. 输入处理
  • 使用 Scanner 类从控制台读取输入。
  • 通过 sc.nextInt() 读取一个整数 n,表示需要分解的数字。

2. 最少步数计算
  • 特殊情况处理
    • n = 1 时,最少步数为 2(因为 1 = -2 + 3)。
    • n = 2 时,最少步数为 1(因为 2 = 2)。
    • n = 3 时,最少步数为 1(因为 3 = 3)。
  • 通用规律
    • 对于 n >= 4,最少步数的计算方式为:
      • 基础步数 base = 2(从 n = 4 开始,最少步数为 2)。
      • 每增加 3,最少步数增加 1。
      • 公式:(n - 4) / 3 + base

3. 公式推导
  • n = 4 开始
    • n = 4:最少步数为 2
    • n = 5:最少步数为 2
    • n = 6:最少步数为 2
    • n = 7:最少步数为 3
    • n = 8:最少步数为 3
    • n = 9:最少步数为 3
    • n = 10:最少步数为 4
    • 以此类推。
  • 规律
    • 每增加 3,最少步数增加 1。
    • 公式:(n - 4) / 3 + base

4. 示例验证
示例 1:n = 4
  • 计算:
    • (4 - 4) / 3 + 2 = 0 + 2 = 2
  • 结果:
    • 最少步数为 2(符合 4 = 2 + 2)。
示例 2:n = 7
  • 计算:
    • (7 - 4) / 3 + 2 = 1 + 2 = 3
  • 结果:
    • 最少步数为 3(符合 7 = 3 + 2 + 2)。
示例 3:n = 10
  • 计算:
    • (10 - 4) / 3 + 2 = 2 + 2 = 4
  • 结果:
    • 最少步数为 4(符合 10 = 3 + 3 + 2 + 2)。

总结

  • 功能:计算将数字 n 分解为若干个 23 的和,使得分解后的项数最少。
  • 核心逻辑
    1. 处理特殊情况(n = 1, 2, 3)。
    2. 对于 n >= 4,使用公式 (n - 4) / 3 + base 计算最少步数。
  • 适用场景:需要将数字分解为 23 的和,且要求分解项数最少的场景。
  • 注意事项
    • 输入必须为正整数。
    • 对于 n = 1,需要特殊处理。

如果有其他问题,欢迎随时提问!

四、Python算法源码

以下是 Python 代码 的详细中文注释和逻辑讲解:


代码

# 输入获取
n = int(input())  # 从控制台读取输入的整数 n# 算法入口
def getResult():# 处理特殊情况if n == 1:return 2  # n=1 时,最少步数为 2(-2 + 3)if n == 2:return 1  # n=2 时,最少步数为 1(2)if n == 3:return 1  # n=3 时,最少步数为 1(3)# 基础步数base = 2  # 从 n=4 开始,最少步数为 2# 计算 n >= 4 时的最少步数return (n - 4) // 3 + base# 算法调用
print(getResult())  # 调用 getResult 函数并输出结果

代码逻辑讲解

1. 输入处理
  • 使用 input() 函数从控制台读取输入,并通过 int() 将输入转换为整数 n

2. 最少步数计算
  • 特殊情况处理
    • n = 1 时,最少步数为 2(因为 1 = -2 + 3)。
    • n = 2 时,最少步数为 1(因为 2 = 2)。
    • n = 3 时,最少步数为 1(因为 3 = 3)。
  • 通用规律
    • 对于 n >= 4,最少步数的计算方式为:
      • 基础步数 base = 2(从 n = 4 开始,最少步数为 2)。
      • 每增加 3,最少步数增加 1。
      • 公式:(n - 4) // 3 + base

3. 公式推导
  • n = 4 开始
    • n = 4:最少步数为 2
    • n = 5:最少步数为 2
    • n = 6:最少步数为 2
    • n = 7:最少步数为 3
    • n = 8:最少步数为 3
    • n = 9:最少步数为 3
    • n = 10:最少步数为 4
    • 以此类推。
  • 规律
    • 每增加 3,最少步数增加 1。
    • 公式:(n - 4) // 3 + base

4. 示例验证
示例 1:n = 4
  • 计算:
    • (4 - 4) // 3 + 2 = 0 + 2 = 2
  • 结果:
    • 最少步数为 2(符合 4 = 2 + 2)。
示例 2:n = 7
  • 计算:
    • (7 - 4) // 3 + 2 = 1 + 2 = 3
  • 结果:
    • 最少步数为 3(符合 7 = 3 + 2 + 2)。
示例 3:n = 10
  • 计算:
    • (10 - 4) // 3 + 2 = 2 + 2 = 4
  • 结果:
    • 最少步数为 4(符合 10 = 3 + 3 + 2 + 2)。

总结

  • 功能:计算将数字 n 分解为若干个 23 的和,使得分解后的项数最少。
  • 核心逻辑
    1. 处理特殊情况(n = 1, 2, 3)。
    2. 对于 n >= 4,使用公式 (n - 4) // 3 + base 计算最少步数。
  • 适用场景:需要将数字分解为 23 的和,且要求分解项数最少的场景。
  • 注意事项
    • 输入必须为正整数。
    • 对于 n = 1,需要特殊处理。

如果有其他问题,欢迎随时提问!

五、C/C++算法源码:

以下是 C 语言代码C++ 代码 的详细中文注释和逻辑讲解:


C 语言代码

#include <stdio.h>  // 引入标准输入输出库int main() {int n;  // 定义变量 n,用于存储输入的数字scanf("%d", &n);  // 从控制台读取输入的整数 nint ans;  // 定义变量 ans,用于存储计算结果// 使用 switch 语句处理不同情况switch (n) {case 1:ans = 2;  // n=1 时,最少步数为 2(-2 + 3)break;case 2:ans = 1;  // n=2 时,最少步数为 1(2)break;case 3:ans = 1;  // n=3 时,最少步数为 1(3)break;default:ans = (n - 4) / 3 + 2;  // n >= 4 时,使用公式计算最少步数}printf("%d\n", ans);  // 输出结果return 0;  // 程序正常结束
}

C++ 代码

#include <iostream>  // 引入输入输出流库
using namespace std;  // 使用标准命名空间int main() {int n;  // 定义变量 n,用于存储输入的数字cin >> n;  // 从控制台读取输入的整数 nint ans;  // 定义变量 ans,用于存储计算结果// 使用 switch 语句处理不同情况switch (n) {case 1:ans = 2;  // n=1 时,最少步数为 2(-2 + 3)break;case 2:ans = 1;  // n=2 时,最少步数为 1(2)break;case 3:ans = 1;  // n=3 时,最少步数为 1(3)break;default:ans = (n - 4) / 3 + 2;  // n >= 4 时,使用公式计算最少步数}cout << ans << endl;  // 输出结果return 0;  // 程序正常结束
}

代码逻辑讲解

1. 输入处理
  • C 语言
    • 使用 scanf("%d", &n) 从控制台读取输入的整数 n
  • C++
    • 使用 cin >> n 从控制台读取输入的整数 n

2. 最少步数计算
  • 特殊情况处理
    • n = 1 时,最少步数为 2(因为 1 = -2 + 3)。
    • n = 2 时,最少步数为 1(因为 2 = 2)。
    • n = 3 时,最少步数为 1(因为 3 = 3)。
  • 通用规律
    • 对于 n >= 4,最少步数的计算方式为:
      • 基础步数 2(从 n = 4 开始,最少步数为 2)。
      • 每增加 3,最少步数增加 1。
      • 公式:(n - 4) / 3 + 2

3. 公式推导
  • n = 4 开始
    • n = 4:最少步数为 2
    • n = 5:最少步数为 2
    • n = 6:最少步数为 2
    • n = 7:最少步数为 3
    • n = 8:最少步数为 3
    • n = 9:最少步数为 3
    • n = 10:最少步数为 4
    • 以此类推。
  • 规律
    • 每增加 3,最少步数增加 1。
    • 公式:(n - 4) / 3 + 2

4. 示例验证
示例 1:n = 4
  • 计算:
    • (4 - 4) / 3 + 2 = 0 + 2 = 2
  • 结果:
    • 最少步数为 2(符合 4 = 2 + 2)。
示例 2:n = 7
  • 计算:
    • (7 - 4) / 3 + 2 = 1 + 2 = 3
  • 结果:
    • 最少步数为 3(符合 7 = 3 + 2 + 2)。
示例 3:n = 10
  • 计算:
    • (10 - 4) / 3 + 2 = 2 + 2 = 4
  • 结果:
    • 最少步数为 4(符合 10 = 3 + 3 + 2 + 2)。

总结

  • 功能:计算将数字 n 分解为若干个 23 的和,使得分解后的项数最少。
  • 核心逻辑
    1. 处理特殊情况(n = 1, 2, 3)。
    2. 对于 n >= 4,使用公式 (n - 4) / 3 + 2 计算最少步数。
  • 适用场景:需要将数字分解为 23 的和,且要求分解项数最少的场景。
  • 注意事项
    • 输入必须为正整数。
    • 对于 n = 1,需要特殊处理。

如果有其他问题,欢迎随时提问!

相关文章:

【2024年华为OD机试】(B卷,100分)- 求最小步数 (Java JS PythonC/C++)

一、问题描述 题目描述 求从坐标零点到坐标点 n 的最小步数&#xff0c;一次只能沿横坐标轴向左或向右移动 2 或 3。 注意&#xff1a;途径的坐标点可以为负数。 输入描述 坐标点 n 输出描述 输出从坐标零点移动到坐标点 n 的最小步数。 备注 1 < n < 10^9 用例…...

<C++> XlsxWriter写EXCEL

XlsxWriter XlsxWriter是一个用于创建和写入Excel 2007及以上版本&#xff08;.xlsx文件格式&#xff09;的C库。以下是对XlsxWriter的详细介绍&#xff1a; 主要功能 文本、数字和公式写入&#xff1a;可以向多个工作表中写入文本、数字和公式。格式设置&#xff1a;支持丰…...

接上一主题,实现QtByteArray任意进制字符串转为十进制数

函数&#xff1a; /// <summary>/// n进制字符串转为十进制数&#xff0c;snDefine的长度最小为二进制数。/// 例子&#xff1a;/// _pn(_Math::strNToInt(_t("1010"), _t("01")));/// _pn(_Math::strNToInt(_t("-1010"), _t("0123…...

CNN-GRU-MATT加入贝叶斯超参数优化,多输入单输出回归模型

CNN-GRU-MATT加入贝叶斯超参数优化&#xff0c;多输入单输出回归模型 目录 CNN-GRU-MATT加入贝叶斯超参数优化&#xff0c;多输入单输出回归模型预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现贝叶斯优化CNN-GRU融合多头注意力机制多变量回归预测&#xff…...

Java 如何传参xml调用接口获取数据

传参和返参的效果图如下&#xff1a; 传参&#xff1a; 返参&#xff1a; 代码实现&#xff1a; 1、最外层类 /*** 外层DATA类*/ XmlRootElement(name "DATA") public class PointsXmlData {private int rltFlag;private int failType;private String failMemo;p…...

uniapp 之 uni-forms校验提示【提交的字段[‘xxx‘]在数据库中并不存在】解决方案

目录 场景问题代码结果问题剖析解决方案 场景 uni-forms官方组件地址 使用uniapp官方提供的组件&#xff0c;某个表单需求&#xff0c;单位性质字段如果是高校&#xff0c;那么工作单位则是高校的下拉选择格式&#xff0c;单位性质如果是其他的类型&#xff0c;工作单位则是手动…...

excel VBA 基础教程

这里写目录标题 快捷键选择所有有内容的地方 调试VBA录制宏&#xff0c;打开VBA开发工具录制宏,相当于excel自动写代码&#xff08;两个表格内容完全一致才可以&#xff09; 查看宏代码保持含有宏程序的文件xlsm后缀&#xff08;注意很容易有病毒&#xff09;宏文件安全设置 使…...

基于异步IO的io_uring

基于异步IO的io_uring 1. io_uring的实现原理 io_uring使用了一种异步IO机制&#xff0c;它通过一对环形缓冲区(ring buffer)实现用户态于内核态之间的高效通信&#xff0c;用户只需将IO请求放入提交队列&#xff0c;当内核完成IO请求时&#xff0c;会将结果放入完成队列&…...

【江协STM32】10-2/3 MPU6050简介、软件I2C读写MPU6050

1. MPU6050简介 MPU6050是一个6轴姿态传感器&#xff0c;可以测量芯片自身X、Y、Z轴的加速度、角速度参数&#xff0c;通过数据融合&#xff0c;可进一步得到姿态角&#xff0c;常应用于平衡车、飞行器等需要检测自身姿态的场景3轴加速度计&#xff08;Accelerometer&#xff…...

仓颉笔记——写一个简易的web服务并用浏览器打开

创建一个web服务端&#xff0c;同时创建一个客户端去读取这个服务端。 也满足浏览器打开web的需求。 直接上代码。 import net.http.* import std.time.* import std.sync.* import std.log.LogLevel// 1. 构建 Server 实例 let server ServerBuilder().addr("127.0.0.1&…...

DolphinScheduler自身容错导致的服务器持续崩溃重大问题的排查与解决

01 问题复现 在DolphinScheduler中有如下一个Shell任务&#xff1a; current_timestamp() { date "%Y-%m-%d %H:%M:%S" }TIMESTAMP$(current_timestamp) echo $TIMESTAMP sleep 60 在DolphinScheduler将工作流执行策略设置为并行&#xff1a; 定时周期调度设置…...

ecmascript 标准+ 严格模式与常规模式 + flat-flatMap 应用

文章目录 ecmascript 历程严格模式与常规模式下的区别及注意事项严格模式下的属性删除Array.prototype.flat()和Array.prototype.flatMap() 实例应用 ecmascript 历程 变量声明要求 常规模式&#xff1a; 在常规模式下&#xff0c;使用var关键字声明变量时会出现变量提升现象。…...

基于ILI9341液晶屏+STM32U5单片的显示试验

试验要求&#xff1a; 1、通过串口&#xff0c;下发两个命令 STR和PIC&#xff1b; 2、STR模式&#xff1a; &#xff08;1&#xff09;串口输入什么&#xff0c;屏幕上显示什么 &#xff08;2&#xff09;如果屏幕满&#xff0c;自动下滚 &#xff08;3&#xff09;输入回车&a…...

最短路径算法

关注&#xff1a;算法思路&#xff0c;时间复杂度&#xff0c;适用情况&#xff08;单源/多源&#xff0c;负边权/负边权回路&#xff09; 复习弗雷德算法--基于动态规划--多源--负边权--时间复杂度O(v^3) int的最大值是0x7fffffff #include <iostream> using namesp…...

如何用 ESP32-CAM 做一个实时视频流服务器

文章目录 ESP32-CAM 概述ESP32-S 处理器内存Camera 模块MicroSD 卡槽天线板载 LED 和闪光灯其他数据手册和原理图ESP32-CAM 功耗 ESP32-CAM 引脚参考引脚排列GPIO 引脚哪些 GPIO 可以安全使用&#xff1f;GPIO 0 引脚MicroSD 卡引脚 ESP32-CAM 的烧录方式使用 ESP32-CAM-MB 编程…...

Centos7 解决Maven scope=system依赖jar包没有打包到启动jar包中的问题(OpenCV-4.10)

最近项目中遇到问题,OpenCV的Jar包在程序打包后,找不到相关的类,比如MAT,这个时候怀疑OpenCV_4.10的Jar没有和应用程序一起打包,后面排查到确实是没有打包进去,特此记录,便于日后查阅。 <!-- 加载lib目录下的opencv包 --> <dependency><groupId>org…...

iOS实际开发中使用Alamofire实现多文件上传(以个人相册为例)

引言 在移动应用中&#xff0c;图片上传是一个常见的功能&#xff0c;尤其是在个人中心或社交平台场景中&#xff0c;用户经常需要上传图片到服务器&#xff0c;用以展示个人风采或记录美好瞬间。然而&#xff0c;实现多图片上传的过程中&#xff0c;如何设计高效的上传逻辑并…...

如何将分割的mask转为为分割标签

将分割的mask转换为分割标签通常涉及将每个像素的类别标识&#xff08;在mask中以不同的灰度值或颜色表示&#xff09;转换为整数标签。这些标签通常用于机器学习或深度学习模型的训练、验证和测试阶段。 使用方式&#xff0c;控制台或者命令行使用以下命令&#xff1a; pyth…...

【动手学电机驱动】STM32-MBD(5)Simulink 模型开发之 PWM 输出

STM32-MBD&#xff08;1&#xff09;安装 Simulink STM32 硬件支持包 STM32-MBD&#xff08;2&#xff09;Simulink 模型部署入门 STM32-MBD&#xff08;3&#xff09;Simulink 状态机模型的部署 STM32-MBD&#xff08;4&#xff09;Simulink 状态机实现按键控制 STM32-MBD&…...

MySQL进阶突击系列(05)突击MVCC核心原理 | 左右护法ReadView视图和undoLog版本链强强联合

2024小结&#xff1a;在写作分享上&#xff0c;这里特别感谢CSDN社区提供平台&#xff0c;支持大家持续学习分享交流&#xff0c;共同进步。社区诚意满满的干货&#xff0c;让大家收获满满。 对我而言&#xff0c;珍惜每一篇投稿分享&#xff0c;每一篇内容字数大概6000字左右&…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...