- 博客(38)
- 收藏
- 关注
原创 581. 最短无序连续子数组
遍历数组,如果这一段数组最小值在最左边或者最大值在右边可以说明可以进一步压缩区间,如果最后low = high 说明原数组有序,返回0,否则返回high-low + 1,解释:你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。输入:nums = [2,6,4,8,10,9,15]输入:nums = [1,2,3,4]子数组,并输出它的长度。输入:nums = [1]
2025-03-22 16:32:55
128
原创 C语言中余数的运算规则
如果 a 和 d 是两个自然数,d非0,可以证明存在两个唯一的整数 q 和r满足。,那么选择余数符号与被除数一致,即-4。则q 被称为商数, r被称为余数。取模运算的结果的符号与。
2025-03-21 20:41:59
259
原创 给你一个字符串 s,找到 s 中最长的回文子串。
暴力求解,没得感情,做出来就ok,注意提取出是否为最长公共字串的函数,拆分问题成遍历和是否为回文串,借鉴选择排序思想,保存最长字串下标。
2025-03-20 20:39:57
198
原创 牛客C语言day1:异或、数组、带参宏、inline等
总结:链表内指定区间反转 ,异或运算的性质:1. 相同的数异或结果为0(相同为0)2. 一个数与0异或结果为它本身(显然的,因为不同为1,相同为0)3. 异或运算满足交换律所以a^b^b = a = b^a^b总结:注意i是从1开始,1是第二层,总结:终极🤡,看成选合法标识符了总结:括号一多不要乱,带参数的宏很喜欢考不带括号导致出错,x文本替换成i+j,注意看括号的层数,x替换成i+j还是替换成(i+j) ,同时注意参数为++,--可能导致重复递增递减。
2025-03-19 21:04:46
263
原创 二维数组和一维数组的关系
首先类型不同,arr是数组指针,arr[0]是int *,但是二者地址相同,*arr = (*arr) = 一维数组名。: 前面说过了arr[1]相当于一维数组名,数组名为指向数组首元素的指针,所以arr[1]类型是。①二维数组arr中的元素是长度为5的int数组(int arr[5]),二维数组的元素是一维数组,那么arr的类型就是。加2 跳过2个字节,等于arr[1][2],arr[1]前面我们说过类型为int。,arr + 1,由于arr类型是。,arr+1跳过5个字节,
2025-03-16 11:17:26
259
原创 约瑟夫问题:编号为1到100的一百个人围成一圈,以123123的方式进行报数,数到3的人自动退出圈子,剩下的人继续报数,问最后剩下的人编号为几?
c语言实现,代码如下,通俗易懂。
2025-03-13 15:32:02
178
原创 C语言实现 合数拆分成质数相乘的形式
每个合数都可以写成几个质数相乘的形式(定理),其中每个质数都是这个合数的因数,把一个合数用质因数相乘的形式表示出来,叫做分解质因数。如30=2×3×5。分解质因数只针对合数,对于质数只能表示为1和他本身相乘。①isPrime(n)不是for循环的终止条件,位置放错了,例如输入90,遍历到i = 4不是素数,导致for循环终止,无法输出因子5。②i <= num/2,而不是i < = sqrt(num) ,否则 14 = 2 * 7 ,无法输出7,i最多遍历到3。输入90 输出2 * 3 * 3 * 5。
2025-03-13 14:50:57
110
原创 正确理解错free函数释放空间机制
当 free(arr);被调用时,free() 通过 arr 向前查找元数据,找到 malloc() 记录的分配大小,释放整块内存。关于free函数,我一直理解错了,我以为free(p)就是释放p指向的这个类型空间,但是实际上是。那为什么系统仅知道一个指针,就可以知道需要连续释放多少堆区空间呢?回答:free(ptr) 通过元数据找到整块内存并释放。释放而是指针指向的整个malloc()申请的内存块。
2025-03-10 16:58:23
143
原创 为什么数组传参不需要指定第一个维度信息
以三维为例:第一维可以省略,因为它已经退化为指针,而第二维、第三维不能省略,因为编译器需要它们来计算偏移量。例如 int arr[1000],如果传递时不退化,就要拷贝 1000 个 int,开销巨大。但如果退化为指针 int *,只需要拷贝 8 字节(64 位系统下指针大小),效率更高。1.数组变量在大多数情况下会自动转换为指向其首元素的指针。,而数组传递的方式如果不退化,效率会很低。2.数组的大小信息会丢失,只剩下地址。原因:C 语言的函数参数传递本质上是。首先需要了解一下退化的概念。
2025-03-03 16:19:08
314
原创 数组名是不是指向首元素的常量指针?
数组名转换后的指针是右值(rvalue),没有存储地址,无法被修改。这种转换类似整数提升,是编译器在语法层面的自动行为。在大多数表达式上下文中,数组名会隐式转换为。字符串字面量初始化字符数组时保留完整类型信息。直接关联一块连续内存的起始地址。获取的是整个数组的地址(类型为。会导致编译错误,因为这不是变量。获取数组总大小(而非指针大小)
2025-03-03 14:59:29
211
原创 链表节点删除新思路
但是,题目并没有给头节点,只给了带删除节点,无法找到待删除节点的前面一个节点,但是这里删除的定义较为宽松, 可以将待删除节点的下一个节点值赋给待删除节点,从而转变成删除下一个节点,这时候原先的待删除节点就是要删除节点的前一个节点了,说起来比较绕,看下图(假定删除2节点,实际删除第三个节点)leetcode:有一个单链表的 head,我们想删除它其中的一个节点 node。为什么是这样呢,正常来说删除链表中的节点,需要找到他前面一个节点,如下图。链表的所有值都是 唯一的,并且保证给定的节点 node。
2025-02-23 21:00:03
338
原创 正向传播和反向传播的理解
更新参数,沿着梯度调整参数,更快收敛,但要设置好学习率,过大可能导致无法收敛,学习率设置太小,网络收敛会非常缓慢。定义一个基本的神经网路,如下,初始化参数,目的是求出参数W,使得在输入X,损失函数值最小。:当损失函数达到我们想要的误差停止,得到的参数即为我们想要的权重,可用来预测。:正向传播计算出中间的值,因为待会的反向传播会用到。计算目标函数对于各个参数的梯度,同时。
2025-01-12 21:54:26
246
原创 sizeof(数组名)的问题
数组名不能简单和等同于指针,数组在内存中是连续分布的,数组名蕴含数组大小等信息,指针只是一个存储地址的变量。注:C++ 可以直接通过引用保留数组大小信息,C语言中只能通过显式传递数组大小或用指针解引用的方式获取。毕竟引用就是别名而已。
2025-01-07 16:18:00
247
原创 指针运算与指针类型相关
举例:char 类型的大小是 1 个字节,所以 p + 1 会使地址增加 1 个字节。如果是 int * 类型指针(假设 int 占用 4 字节),p + 1 则会增加 4 个字节。
2025-01-07 15:54:28
322
原创 onnx转xml-精简干货
若要验证包是否已正确安装,请运行以下命令。如果安装成功完成,将看到帮助消息。安装OpenVINO™开发工具。2.测试是否安装成功。
2024-02-17 21:02:30
1150
原创 关于小程序的部署监控视频流问题
才可以开通具有live-player组件权限的类目。准备转战网页端或者移动端了,欢迎提供建议。,淘宝价格不便宜,因而卡在了这里。其次是类目的开通还需要。
2024-02-02 22:00:03
570
原创 ningx之./configure去哪了?
configure 命令编译程序后,configure 脚本会执行一系列配置操作,生成适合您的系统环境的 Makefile。自己的服务器本身安装了Nginx,但是为了实现rtmp推拉流,除了Nginx还需要Nginx-rtmp-module配合使用。Linux configure命令精通:一个完整的初学者教程_configure --cpu=c-CSDN博客。这样一来,由于我之前安装编译了nginx于是,configure 脚本被删除了,所以我找不到。最后附上configure的讲解链接,敬请指正。
2024-01-25 22:06:51
1150
原创 cv2.error: OpenCV(4.9.0) :-1: error: (-5:Bad argument) in function ‘rectangle‘
【代码】cv2.error: OpenCV(4.9.0) :-1: error: (-5:Bad argument) in function ‘rectangle‘
2024-01-24 19:57:10
2327
1
原创 树莓连接最佳实践
最近被使用VNC连接树莓派弄的很憔悴,记录一下目前我最佳实践之前的树莓派启动步骤可以参考1.树莓派通过网线连接步骤或者直接搜索查看网路连接跳转。
2024-01-23 12:08:08
699
2
原创 pycharm中directory与python package区别及代码测试
Dictionary在pycharm中就是一个文件夹,放置资源文件,对应于在进行JavaWeb开发时用于放置css/js文件的目录,或者说在进行物体识别时,用来存储背景图像的文件夹。该文件夹其中并不包含_ _ init.py_ _文件对于Python package 文件夹而言,与Dictionary不同之处在于其会自动创建_ _ init.py_ _文件。简单的说,python package就是一个目录,其中包括一组模块和一个_ _ init_ _.py文件。
2023-08-24 22:06:48
375
1
翻译 Python 中的多处理 VS 线程 VS AsyncIO
因此,对于单进程多线程的C/C++程序来说,可以利用很多CPU核心和很多本地线程,CPU利用率可以大于100%。相反,如果我们有更快的 I/O,比如更快的内存 I/O、硬盘 I/O、网络 I/O 等,我们的程序的性能将会提升。注意,这里的原生线程是指物理CPU核心的线程数,而不是编程语言中的线程概念。如果某个线程能够以某种方式知道发送 I/O 请求的时间,它就可以切换到执行另一项任务,而无需保持空闲状态,并且一个线程应该足以管理所有这些任务。请注意,我们这里讨论的线程与 CPU 核心中的本机线程不同。
2023-08-24 17:01:52
369
1
原创 深入浅出理解HTTPS
这种情况下,采用对称加密是合适的,因为会话密钥没有被暴露,而非对称加密则需要进行相当大的数学计算开销。对称加密可以确保数据在安全的双向通道中进行加密的传输,适用于需要长时间会话中的数据交换。该消息包含一组必要的加密算法(密码套件)及其可以支持的最新 TLS 版本。然后服务器将 SSL 证书发送给客户端。验证 SSL 证书后,客户端生成会话密钥并使用公钥对其进行加密。客户端(浏览器)和服务器建立 TCP 连接。CA机构也是拥有其CA公钥及CA私钥的,并且。的传输,因此确保了传输的安全性。
2023-08-22 23:34:31
16481
1
原创 TCP的三次握手和四次挥手
举例来说,当你在浏览器中访问一个网页时,TCP协议会在你的浏览器和服务器之间建立一个TCP连接,并将网页数据通过这个连接可靠地传输到你的浏览器。确认号表示接收方期望接收到的下一个数据段的序号。如果 ACK 标志位被设置为 1,确认号字段将包含一个有效的确认号,表示接收方期望接收到的下一个数据段的序号。客户端接收到服务器的 FIN 包后,发送一个带有 ACK 标志位的数据包回复,表示已经确认服务器的关闭请求。当发送方不再有数据需要发送时,会发送一个带有 FIN 标志位的数据包,表示发送方准备关闭连接。
2023-08-22 21:04:25
95
1
原创 ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决办法(首先应检查的)
看了网上的解决办法大多都是卸载重新安装,看着比较麻烦,我的是因为禁止mysql开机自启动,所以之前重启电脑导致myaql服务被关闭,所以这种原因应该首先检查
2023-08-18 15:35:28
1163
1
原创 已安装pymsql但仍ModuleNotFoundError: No module named pymysql 的解决
已安装pymsql但仍ModuleNotFoundError: No module named pymysql 的解决
2023-08-14 20:51:26
3780
原创 2023最新详细:使用selenium携带cookie登录QQ空间,爬取指定好友空间说说照片
最近学了爬虫,正好爬取一下指定好友的所有空间说说照片,之前使用selenium账号密码登录,模拟登录次数过多,会加验证码,甚至导致QQ冻结,所以采用cookie登录。
2023-08-07 16:13:04
6730
4
原创 爬虫selenium:unexpected keyword argument ‘options‘ & use options instead of chrome_options
b占视频 爬虫selenium:unexpected keyword argument 'options' & use options instead of chrome_options
2023-08-01 11:04:43
12786
1
原创 编译原理语法分析知识
编译原理语法分析知识,包括FIRST集、FOLLOW集求解,以及LR(0)、LR(1)、STR(1)、LALR(1)的求解
2023-05-27 20:32:41
4214
1
原创 java基础知识
之所以这样说,是因为计算机硬件的种类繁多,操作系统也各不相同,不同的用户和公司有自己不同的计算机环境偏好,而软件为了能在这些不同的环境里正常运行,就需要独立于这些平台。编译时要进行Java语言和语义的检查,保证每个变量对应一个相应的值,编译后生成Java类。Java类在网络上使用时,对它的权限进行了设置,保证了被访问用户的安全性。Java源代码的书写不拘泥于特定的环境,可以用记事本、文本编辑器等编辑软件来实现,然后将源文件进行编译,编译通过后可直接运行,通过调试则可得到想要的结果。
2023-05-19 21:38:41
362
1
原创 &的用法之一:c++中的引用 &(详解,通俗易懂)
1:&作为引用作用顾名思义就是给变量起别名(比如给你起外号二狗子,或者小名静静)2:他的语法是 数据类型 & 别名 = 原名;(int & bieming = yuanming )感谢祖国花朵来过
2021-12-02 19:05:01
4458
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人