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

蓝桥杯 临时抱佛脚 之 二分答案法与相关题目

二分答案法(利用二分法查找区间的左右端点)

(1)估计 最终答案可能得范围 是什么

(2)分析 问题的答案 给定条件 之间的单调性,大部分时候只需要用到 自然智慧

(3)建立一个f函数, 当答案固定的情况下 ,判断 给定的条件是否达标

(4)在 最终答案可能的范围上不断二分搜索, 每次用f函数判断,直到二分结束,找到最合适的答案

(5)当题目要查找一个区间的左右端点时(符合的区间有多个值找最大或者最小),可以考虑一下这个方法能不能用

综上:

        核心点:分析单调性,建立f函数

光说不练,假把式!开练!!!!!

下面有一些相关题目

题目一:爱吃香蕉的珂珂

测试链接:875. 爱吃香蕉的珂珂 - 力扣(LeetCode)

题解:

1.        先看问题答案与对应条件的单调性,这道题中当吃香蕉的速度越大时,吃完所需要的时间就会越少,但这道题中要注意如果一小时内吃完一堆香蕉就会休息,等到下一个小时才会再次开始吃,如果一小时内没有吃完,那么下一个小时就会继续吃,吃完之后还是不会继续吃其他堆的香蕉,还是会休息。所以这个题会用到向上取整算法( 例如a/b向上取整,(a+b-1)/b

2.         分析要二分什么,问题要求返回h小时内吃掉所有香蕉的最小速度k(k为整数),那这道题就是二分速度,并且速度与时间也符合单调性,速度也快,时间越短。考虑二分速度的左右区间,左区间 速度最小为1 最大速度为数组中最大数据的大小,因为如果速度大于最大数据时,吃完之后也不会继续吃下一堆还是会休息,又有单调性所以最大数据的速度一定可以,但不会是答案。

3.        check函数,参数传速度,返回吃完所需要的时间,然后与给定的k作对比,不断的缩小范围直到二分结束,返回答案。

class Solution {
public:int minEatingSpeed(vector<int>& piles, int h) {//定区间int r = 0;//找到数组中最大的数据作为区间的右端点for(int i=0; i<piles.size();i++){r = max(piles[i],r);}int ans = 0;//速度最小为1,左端点设置为1int l = 1;int mid =0;while(l<= r){// 等价于mid = (l+r)/2  但有时会越界防止越界mid = l+((r-l)>>1); // 二分点靠左if(check(piles,mid) <= h){//达标//记录答案ans = mid;r = mid-1;}else{//不达标//不记录答案直接去右面二分l = mid+1;}}return ans;}//check函数检查是否符合要求long long check(vector<int>& piles, int mid){//时间是向上取整 ,初始化long long类型数据,防止数据过大越界long long ans = 0;    // ans为时间int i = 0;int size = piles.size();while(size--){// 时间是向上取整的ans += (piles[i++]-1)/mid + 1;}//返回mid速度,吃完所需时间return ans;}
};

题目二:分割数组的最大值

题目链接:410. 分割数组的最大值 - 力扣(LeetCode) (画匠问题)

题解:

1.        总结题意就是将数组分成规定的份数,然后返回分好的这些组中各自和的最大值的最小(就是组内的和最大的组的和使这个数即可能的小返回最小)

2        先看看这道题中最终答案,与给定条件之间是否存在单调性,最答案是各自总和的最大值,给定条件为划分成几份,当划分的分数越多,各自的总和就会越小,存在一定的单调性。

3.        思路就是写一个函数,传递的参数就是各自总和的最大值,然后返回满足在这个限制下,会将数组分成几份,然后与给定的k作对比,不断地缩小区间,直至二分结束

方法一:

        在后面check函数中处理特殊情况(容易忘记处理)

class Solution {
public:int splitArray(vector<int>& nums, int k) {//二分答案 将最大部分的累加和一直二分,写一个函数(每组数据都限制在这个累加和的范围内时是否符合要求小于等于k个)判断//非负整数可以为0//在前面可以将区间缩小到最小然后可以避免后面细节的判断防止出错//改法将左端点设置为最小0int l = 0;//二分区间的右端点,就是累计和的最大也就是将数组分成一份就是数组中所有元素的累加和 int r = 0;for(int i = 0; i<nums.size();i++){r += nums[i];}//起始将mid设为0 int mid = 0;//ans来记录二分的答案,当答案满足记录下来继续二分 int ans = 0;//确定了二分的大致范围while(l<=r){//mid = (r+l)/2 下面这样写可以防止越界超过int的最大数值 mid = l+((r-l)>>1);//下面可以这样理解,返回值小于<=k,就是符合限制条件并且分的分数还比规定的小,那么一定有mid if( check(nums,mid) <= k){//mid都符合要求,右面的limit一定符合要求,所以去左面进行二分查找//先记录答案,然后去做左面看有没有最优解ans = mid;r = mid-1;}else{//不符合要求,去右面找 l = mid +1;}}return ans;}//可以说用到了贪心算法,就是没个部分都是最优解,这样分的份数最小 int check(vector<int>& nums, int limit){int sum = 0;int ret= 1; //代表最少分几份for(int i = 0 ;i<nums.size();i++){//如果数组中有值超过了限制,这个限制不成立if(nums[i] > limit) return INT_MAX;if(sum + nums[i] <= limit){//没有满 将数据吸纳进来sum += nums[i];}else{//当前sum结束了,现在sum的值为当前num[i]的值ret++;sum = nums[i];}}return ret;}
};

方法二:

        在前面划分左右区间时就将区间范围划分到最小,这样可以避免处理后面,数组中有大于限制情况。

class Solution {
public:int splitArray(vector<int>& nums, int k) {//二分答案 将最大部分的累加和一直二分,写一个函数(每组数据都限制在这个累加和的范围内时是否符合要求小于等于k个)判断//非负整数可以为0//在前面可以将区间缩小到最小然后可以避免后面细节的判断防止出错int l = 0;int r = 0;for(int i = 0; i<nums.size();i++){r += nums[i];//区间的左值因为是数组划分完后的最大的最小值,所以一定大于等于数组中最大元素的值,将左端点设置为数组中最大的元素l = max(l,nums[i]);}int mid = 0;int ans = 0;//确定了二分的大致范围while(l<=r){mid = l+((r-l)>>1);if( check(nums,mid) <= k){//mid都符合要求,右面的limit一定符合要求,所以去左面进行二分查找//先记录答案,然后去做左面看有没有最优解ans = mid;r = mid-1;}else{l = mid +1;}}return ans;}int check(vector<int>& nums, int limit){int sum = 0;int ret= 1; //代表最少分几份for(int i = 0 ;i<nums.size();i++){if(sum + nums[i] <= limit){//没有满 将数据吸纳进来sum += nums[i];}else{//当前sum结束了,现在sum的值为当前num[i]的值ret++;sum = nums[i];}}return ret;}
};

题目三:找出第K小的数对距离

题目链接:719. 找出第 K 小的数对距离 - 力扣(LeetCode)

题解:

1        题意数对距离就是两数之间的绝对值差值,题目要返回第k小的数对距离。

2        先看答案与给定条件之间的单调性关系,当两数的绝对值差值越大,那么这个K值也会越大,所以存在一定的单调性关系。

3        那么我们可以二分数对距离,根据题意找到最大最小的数对距离。

4         check函数我们可以传递mid位置的数对距离,然后返回mid位置为第几小的位置,与给定的k进行比较,直到二分结束。

class Solution {
public:int smallestDistancePair(vector<int>& nums, int k) {//因为要找数据之间差值最大的两个数,并且该题排序与不排序不会影响最终结果 sort(nums.begin(),nums.end());//由于上面进行了排序所以右边界就是最大值与最小值的差值 int r = nums[nums.size() -1] - nums[0];//左边界就是数组中最小的差值,也就是数组之间相邻的两个数据最小的差值int l =r;for(int i = 1;i<nums.size()-1;i++){l = min(r,nums[i]-nums[i-1]);} int ans = 0;int mid = 0;while(l<=r){mid = l+((r-l)>>1);//num为返回的第几小的元素,与k进行比较int num = check(nums,mid);if(num >= k){//符合要求,将mid记录,这是mid可能已经为最终答案,记录以备候选,继续二分看是否还有最优解 ans = mid;r = mid -1;}else{//mid不符合要求,缩小区间到mid的右面 l = mid +1;}}return ans;}//用来判断是不是与第k小的关系,也就是返回<=mid的数对数量int check(vector<int>& nums,int mid){//这道题应用到了滑动窗口的方法 int sum = 0;int r = -1, l = 0;for(l=0;l< nums.size();l++){//从0开始存不能等于nums.size(),如果r+1 - l 的差值小于等于传进来的差值,就r++向后走,否则就停止 while(r < l || ((r+1)<nums.size() && nums[r+1] - nums[l] <= mid)){r++;}//因为l要加了,先将区间内符合条件的数据记录个数,L++,也就是l走之前记录l位置处的符合条件的个数 sum += r-l;}return sum;}
};

相关文章:

蓝桥杯 临时抱佛脚 之 二分答案法与相关题目

二分答案法&#xff08;利用二分法查找区间的左右端点&#xff09; &#xff08;1&#xff09;估计 最终答案可能得范围 是什么 &#xff08;2&#xff09;分析 问题的答案 和 给定条件 之间的单调性&#xff0c;大部分时候只需要用到 自然智慧 &#xff08;3&#xff09;建…...

Css环形旋转立体感动画

Css环形旋转立体感动画 index.html <!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>Css环形旋转立体感动画</title><link rel"stylesheet" href"./style.css">&l…...

音乐极客指南:Melody高音质私有云音乐平台本地部署方案

文章目录 前言1. 添加镜像源2. 本地部署Melody3. 本地访问与使用演示4. 安装内网穿透5. 配置Melody公网地址6. 配置固定公网地址 前言 嘿&#xff0c;各位音乐爱好者们&#xff01;今天我要带大家玩个大招——在香橙派Zero3上搭建你的专属在线音乐平台&#xff0c;还能通过cpo…...

Microi吾码界面设计引擎之基础组件用法大全【内置组件篇·中】

&#x1f380;&#x1f380;&#x1f380; microi-pageengine 界面引擎系列 &#x1f380;&#x1f380;&#x1f380; 一、Microi吾码&#xff1a;一款高效、灵活的低代码开发开源框架【低代码框架】 二、Vue3项目快速集成界面引擎 三、Vue3 界面设计插件 microi-pageengine …...

# WebSocket 与 Socket.IO 对比与优化

核心概念对比 WebSocket 协议性质&#xff1a;HTML5 提供的全双工通信协议 (RFC 6455)连接方式&#xff1a;基于 TCP 的低层协议通信模式&#xff1a;持久化连接&#xff0c;服务端可主动推送协议升级&#xff1a;通过 HTTP 101 状态码切换协议 Socket.IO 协议性质&#xf…...

vue3中,route4,获取当前页面路由的问题

首先应用场景如下&#xff1a; 在main.js里面&#xff0c;引入的是路由的配置文件&#xff0c;如下&#xff1a; import {router} from /router; app.use(router); 路由配置文件router.js如下&#xff1a; import { createRouter, createWebHistory } from vue-router; imp…...

python将整个txt文件写入excel的一个单元格?

要将整个txt文件写入Excel的一个单元格&#xff0c;可以使用Python的openpyxl库来实现。以下是一个简单的示例代码&#xff1a; from openpyxl import Workbook# 读取txt文件内容 with open(file.txt, r) as file:txt_content file.read()# 创建一个新的Excel工作簿 wb Work…...

日志2333

Pss-9 这一关考察的是时间盲注 先练习几个常见命令语句&#xff1a; select sleep(5);--延迟5s输出结果 if &#xff08;1>0,ture,false&#xff09;;--输出‘ture’ /if &#xff08;1<0,ture,false&#xff09;;--输出‘false’ select ascii()/select ord()返回字…...

用Deepseek写扫雷uniapp小游戏

扫雷作为Windows系统自带的经典小游戏&#xff0c;承载了许多人的童年回忆。本文将详细介绍如何使用Uniapp框架从零开始实现一个完整的扫雷游戏&#xff0c;包含核心算法、交互设计和状态管理。无论你是Uniapp初学者还是有一定经验的开发者&#xff0c;都能从本文中获得启发。 …...

C++中的异常和智能指针

一、C中的异常 1.1C语言中关于错误的处理&#xff08;回顾&#xff09; 1.1.1处理一&#xff1a;文件中的错误码&#xff0c;错误信息 C语言中&#xff0c;文件打开成功则返回地址&#xff0c;不成功返回0 FILE* foutfopen("Test.txt","r"); cout<&…...

Selenium 简单入门操作示例

最简单的 Selenium 示例&#xff08;Python版&#xff09; 下面是一个完整的、最简单的 Selenium 操作示例&#xff0c;带你快速上手&#xff1a; from selenium import webdriver from selenium.webdriver.common.by import By import time# 1. 启动浏览器&#xff08;这里使…...

6.1 模拟专题:LeetCode 1576. 替换所有的问号

1. 题目链接 LeetCode 1576. 替换所有的问号 2. 题目描述 给定一个仅包含小写字母和问号 ? 的字符串 s&#xff0c;要求将所有 ? 替换为任意小写字母&#xff0c;使得替换后的字符串中 没有相邻的两个字符相同。 示例&#xff1a; 输入&#xff1a;s "?zs" →…...

前端知识点---用正则表达式判断邮箱(javascript)

// 全面的正则&#xff08;兼容大多数情况&#xff09; const emailRegex /^[a-zA-Z0-9._%-][a-zA-Z0-9.-]\.[a-zA-Z]{2,}$/;// 或直接使用浏览器内置验证 <input type"email" required>/&#xff1a;正则表达式的起始和结束标志。 ^&#xff1a;匹配字符串的…...

深度剖析 Spring 源码 性能优化:核心原理与最佳实践

深度剖析 Spring 源码 & 性能优化&#xff1a;核心原理与最佳实践 &#x1f680; Spring 框架 作为 Java 生态的核心技术&#xff0c;广泛应用于企业级开发。但很多开发者只会“用”Spring&#xff0c;而不深入其内部原理&#xff0c;导致无法高效排查问题 & 进行性能优…...

Axure RP9教程 :轮播图(动态面板) | 头部锁定

文章目录 引言I 轮播图操作步骤在画布中添加一个动态面板设置面板状态II 头部锁定将头部区域选中,右键组合或用Ctrl+G快捷键;将组合的头部区域,右键创建动态面板;引言 动态面板的功能十分强大,比如:拥有独立的内部坐标系,有多个状态; Banner的案例中会用到动态面板多个…...

rabbitmq承接MES客户端服务器

文章目录 背景整体架构概述方案详细步骤1. 数据库选型与搭建2. 设备端数据上传至数据库3. 搭建 RabbitMQ 服务器4. 数据同步模块&#xff08;数据库到 RabbitMQ&#xff09;5. MES 服务器从 RabbitMQ 接收数据6. 指令接收模块&#xff08;RabbitMQ 到设备端&#xff09; 7. MES…...

重学vue3(三):vue3基本语法及使用

组合式 API是vue3 的核心特性&#xff0c;替代 Vue2 的选项式 API&#xff0c;强调逻辑复用和代码组织。基本语法如下&#xff1a; <script setup> import { ref, reactive, computed, onMounted } from vue;// 1. 响应式数据 const count ref(0); // 基本类…...

算法 | 麻雀搜索算法原理,公式,改进算法综述,应用场景及matlab完整代码

一、麻雀搜索算法(SSA)原理 1. 算法基础 麻雀搜索算法(Sparrow Search Algorithm, SSA)是2020年提出的一种群体智能优化算法,灵感来源于麻雀群体的觅食与反捕食行为。算法将麻雀分为三类角色:发现者(Producer):适应度最高,负责探索全局最优区域;加入者(Follower)…...

0322-数据库与前后端的连接、数据库表的增删改查

前端 <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>Insert title here</title> <script srcjs/jquery-3.7.1.min.js></script> <script> //jquaryajax发起请求 //传参形式不同 post用data{}…...

详细介绍Qt中用于断言的宏 Q_ASSERT

Q_ASSERT 是 Qt 框架中用于调试的核心宏之一&#xff0c;其作用类似于标准 C/C 的 assert&#xff0c;但针对 Qt 的特性进行了优化。它用于在开发阶段验证程序的逻辑正确性&#xff0c;帮助开发者快速定位潜在的错误。 1.基本用法 Q_ASSERT(condition);功能&#xff1a;在调试…...

基于Python的自然语言处理系列(60):使用 LangChain 构建 Multi-Vector Retriever 进行文档检索

在 NLP 和 AI 领域&#xff0c;基于嵌入&#xff08;Embeddings&#xff09;进行文档检索已成为一种高效的解决方案。本文介绍如何使用 LangChain 构建 Multi-Vector Retriever&#xff0c;实现对长文档的分块索引和高效检索。 1. 环境准备 首先&#xff0c;我们需要安装相关…...

Dify 部署指南-离线版

Docker 部署 1、 访问 Docker 官网 (https://www.docker.com/) 获取安装包。 2、 上传 Docker 安装包 3、 进入解压目录&#xff0c;执行解压命令 tar xzvf docker-28、0.2、tgz4、 将解压文件中的 Docker 相关文件移动到 /usr/bin/ 目录 sudo cp docker/* /usr/bin/5、 创建…...

解决 Element UI 嵌套弹窗的状态管理问题!!!

解决 Element UI 嵌套弹窗的状态管理问题 &#x1f527; 问题描述 ❓ 在使用 Element UI 开发一个多层嵌套弹窗功能时&#xff0c;遇到了以下问题&#xff1a; 弹窗只能打开一次&#xff0c;第二次点击无法打开 &#x1f6ab;收到 Vue 警告&#xff1a;避免直接修改 prop 值…...

基于STM32单片机的智能手环/音乐播放/语音识别

基于STM32单片机的智能手环/音乐播放/语音识别 持续更新&#xff0c;欢迎关注!!! ** 基于STM32单片机的智能手环/音乐播放/语音识别 ** 21世纪&#xff0c;社会高速发展&#xff0c;生活物质越来越丰富&#xff0c;随着科技的进步&#xff0c;智能化成为了人们关注的焦点&am…...

NFC 智能门锁全栈解决方案:移动端、服务器、Web 管理平台

目录 一、系统整体架构 二、移动端 APP 开发 2.1 开发环境与基础准备 2.2 主要功能模块 2.3 示例代码&#xff08;Android/Kotlin 简化示例&#xff09; 三、后台服务开发 3.1 环境准备 3.2 主要功能 3.3 示例代码&#xff08;Node.js Express 简化示例&#xff09; …...

使用 Python 开发 MCP Server 及 Inspector 工具详解

使用 Python 开发 MCP Server 及 Inspector 工具详解 前言 模型上下文协议 (Model Context Protocol, MCP) 是一种新兴的协议&#xff0c;旨在让大型语言模型 (LLM) 更容易地与外部工具和服务集成。本文将介绍如何使用 Python 开发一个 MCP Server&#xff0c;并详细讲解如何使…...

论坛系统测试报告

一、项目背景 为论坛系统项目设计并进行自动化测试。论坛系统由六个页面构成&#xff1a;用户登录页、用户注册页、个人中心页面、我的帖子页面、帖子编辑页、帖子列表页以及帖子详情页。 通过使用selenium工具来定位到web中的元素&#xff0c;对获取到的元素进行自动化测试等操…...

Android一个APP里面最少有几个线程

Android应用启动时,默认会创建一个进程,该进程中最少包含5个系统自动创建的线程,具体如下: Main线程(主线程/UI线程) 负责处理用户交互、UI更新等核心操作,所有与界面相关的逻辑必须在此线程执行。若在此线程执行耗时操作(如网络请求),会导致界面卡顿甚至触发ANR(应…...

DML 数据操纵语言学习笔记

一、DML 核心概念体系 1.1 语言定位与边界 DML&#xff08;Data Manipulation Language&#xff09;作为 SQL 三大核心语言之一&#xff0c;专注于数据行级操作&#xff0c;区别于 DDL&#xff08;结构定义&#xff09;和 DCL&#xff08;权限控制&#xff09;。其核心指令包…...

7-Zip 功能介绍

7-Zip 是一款开源、高效的文件压缩与解压缩工具&#xff0c;支持多种格式&#xff0c;以高压缩率和灵活性著称。以下是其核心功能&#xff1a; 多格式支持 压缩 / 解压&#xff1a;支持 7z&#xff08;默认格式&#xff0c;压缩率极高&#xff09;、ZIP、RAR、GZIP、BZIP2、TAR…...

《基于python游戏设计与实现》开题报告

个人主页:@大数据蟒行探索者 一、研究背景、目的及意义 (一)研究背景 游戏的普及与成功:随着智能手机的普及和网络技术的发展,手机游戏产业逐渐成熟,成为娱乐文化产业的重要组成部分。《开心消消乐》作为一款休闲类游戏,自上线以来凭借其简单易上手的玩法和丰富的…...

鸿蒙学习笔记(3)-像素单位、this指向问题、RelativeContainer布局、@Style装饰器和@Extend装饰器

一、像素单位 物理像素&#xff1a;用px表示。 逻辑像素&#xff1a;在布局的时候&#xff0c;底层针对物理像素和屏幕尺寸关系进行转化的中间层。 分辨率&#xff1a;代表在屏幕上到底布局了多少了像素点&#xff08;发光点) 官方同时也提供了相关单位&#xff0c;在开发中…...

Selenium之简介

Selenium简介 首先&#xff0c;让我们看看官网是怎么定义的 Selenium是一个支持web浏览器自动化的一系列工具和库的综合项目&#xff0c;提供了扩展来模拟用户和浏览器的交互&#xff0c;用于扩展浏览器分配的分发服务器&#xff1b;用于W3C WebDriver规范的基础架构 其实&a…...

使用Ollama(自定义安装位置)与RagFlow构建本地知识库

目录 1. 为什么不直接使用网页版DeepSeek?2. 如何实现网页版DeepSeek不能实现的需求?3. 目标效果预览4. 为什么要使用RAG技术?RAG和模型微调的区别?5. 什么是Embedding?为什么需要“Embedding模型”?6. 本地部署全流程6.1 下载ollama&#xff0c;通过olama将DeepSeek模型…...

基于ssm的医院预约挂号系统

一、系统架构 前端&#xff1a;jsp | bootstrap | jquery | css | ajax 后端&#xff1a;spring | springmvc | mybatis 环境&#xff1a;jdk1.8 | mysql | maven | tomcat 二、代码及数据 三、功能介绍 01. 注册 02. 登录 03. 首页 04. 医院挂号 05. …...

如何通过less在vue2中达到切换皮肤的目的

先装less npm install less less-loader --save-dev 然后将该 loader 添加到 webpack 的配置中去&#xff0c;例如&#xff1a; webpack.config.js module.exports {module: {rules: [{test: /\.less$/i,use: [// compiles Less to CSSstyle-loader,css-loader,less-loade…...

DeepSeek概述

一、DeepSeek概述 1.1 DeepSeek是什么 DeepSeek是一家专注 通用人工智能&#xff08;AGI&#xff0c;Artificial General Intelligence&#xff09;的中国科技公司&#xff0c;主攻大数据研发与应用。DeepSeek-R1是其开源的推理模型&#xff0c;擅长处理复杂任务且可免费商用…...

生成模型速通(Diffusion,VAE,GAN)

基本概念 参考视频https://www.bilibili.com/video/BV1re4y1m7gb/?spm_id_from333.337.search-card.all.click&vd_sourcef04f16dd6fd058b8328c67a3e064abd5 生成模型其实是主要是依赖概率分布&#xff0c;对输入特征的概率密度函数建模 隐空间&#xff08;latent space)…...

linux/android 如何获取当前系统启动时长

uptime 指令获取 trinket:/ # uptime12:03:31 up 3 min, 0 users, load average: 1.02, 0.68, 0.29...

Elasticsearch客户端工具初探--kibana

1 Kibana简介 Kibana是Elastic Stack&#xff08;ELK&#xff09;中的可视化工具&#xff0c;用于对Elasticsearch中存储的数据进行搜索、分析和可视化展示。它提供了直观的Web界面&#xff0c;支持日志分析、业务监控、数据探索等功能&#xff0c;广泛应用于运维监控、安全分析…...

深克隆和浅克隆(建造者模式,内含简版)

让我们来看一个例子&#xff1a; 设计一个客户类Customer&#xff0c;其中客户地址存储在地址类Address中&#xff0c;用浅克隆和深克隆分别实现Customer对象的复制并比较这两种克隆方式的异同。 代码实现 Customer类和Address类都是实现的Java 内置的 java.lang.Cloneable …...

吴恩达机器学习笔记复盘(十二)逻辑回归的梯度下降和拟合问题

梯度下降算法推导过程 一、逻辑回归模型基础 逻辑回归用于二分类问题&#xff0c;其假设函数为sigmoid函数&#xff1a; 其中&#xff0c;是模型参数向量&#xff0c;是特征向量。输出表示样本属于正类的概率。 二、损失函数 逻辑回归的损失函数采用 对数损失&#xff08;交…...

OSPF五种报文分析(仅部分比较重要的)

OSPF五种报文分别是&#xff1a; hello报文&#xff0c;DBD数据库描述报文&#xff0c;LSR链路状态请求报文&#xff0c;LSU链路状态更新报文&#xff0c;LSACK链路状态确认包 以下是这五种报文的详细解读&#xff1a; 1. Hello报文 作用&#xff1a; 用于邻居的发现、建立和…...

Ubuntu 22.04 二进制安装单节点 MySQL

Ubuntu 22.04 二进制安装 MySQL LTS&#xff08;长期支持版&#xff09;完整教程 MySQL LTS 版本选择&#xff1a; 目前 MySQL 8.4.4 是长期支持&#xff08;LTS&#xff09;版本&#xff0c;持续更新并保持稳定。 下载版本&#xff1a; 你也可以在 MySQL 官方网站确认最新稳…...

python处理音频相关的库

1 音频信号采集与播放 pyaudio import sys import pyaudio import wave import timeCHUNK 1024 FORMAT pyaudio.paInt16 CHANNELS 1#仅支持单声道 RATE 16000 RECORD_SECONDS 3#更改录音时长#录音函数&#xff0c;生成wav文件 def record(file_name):try:os.close(file_…...

python+ffmpeg给音频添加背景音乐

说明&#xff1a; 我希望用python&#xff0c;将name.mp3这段录音文件&#xff0c;添加背景音乐&#xff0c;bg.mp3&#xff0c;然后生成新的文件 step1: 添加依赖 pip install pydubstep2:下载ffmpeg 1.打开windows powershell &#xff0c;管理员运行 2.winget install ff…...

《TypeScript 面试八股:高频考点与核心知识点详解》

“你好啊&#xff01;能把那天没唱的歌再唱给我听吗&#xff1f; ” 前言 因为主包还是主要学习js&#xff0c;ts浅浅的学习了一下&#xff0c;在简历中我也只会写了解&#xff0c;所以我写一些比较基础的八股&#xff0c;如果是想要更深入的八股的话还是建议找别人的。 Ts基…...

鸡生蛋还是蛋生鸡? 基于python的CCM因果关系计算

文章目录 前言一、安装二、代码1.全部代码2.结果展示总结前言 因果推断在科学研究中起着重要的作用,尤其是在复杂系统中,例如生态学、气候学、经济学等领域。在这些领域中,了解变量之间的因果关系可以帮助我们更好地理解系统的动态行为和相互作用。传统的相关性分析并不足以…...

PyBluez2 的详细介绍、安装指南、使用方法及配置说明

PyBluez2&#xff1a;Python 蓝牙开发的核心库 一、PyBluez2 简介 PyBluez2 是 Python 的开源蓝牙编程库&#xff0c;支持蓝牙 2.0、BLE&#xff08;低功耗蓝牙&#xff09;和传统蓝牙协议栈的开发。它提供了对蓝牙硬件适配器的底层控制&#xff0c;适用于设备发现、配对、数…...

鸿蒙HarmonyOS NEXT之无感监听

鸿蒙中存在一些无感监听&#xff0c;这些监听经过系统API封装使用很简单&#xff0c;但是对实际业务开发中有很重要&#xff0c;例如埋点业务、数据统计、行为上报、切面拦截等。 Navigation的页面切换 在鸿蒙中Navigation被用来作为路由栈进行页面跳转&#xff0c;如果你想知…...