自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 LeetCode 76. 最小覆盖子串 滑动窗口框架

题目链接:https://leetcode.cn/problems/minimum-window-substring/description/对于滑动窗口window。

2023-12-09 00:51:07 497

原创 LeetCode 376. 摆动序列

出现问题的环节是4位置出现的preDiff,判断是否出现波峰,应该和上一个非0的差值,也就是1比较,如果和0差值比较,就不知道到底是波峰还是如图的问题。答:因为题目要求判断nums的子序列,子序列就是可以忽略其中一些点,也就是说如果出现差值是0的情况,只要两侧满足差值一正一负,也符合要求。除此之外,如果含有两个不同元素,在初始preDiff=0的情况下,肯定能进入if判断一次,导致res增加变成2。还有一种preDiff=0,并且可以进入if的情况,但是不符合条件:递增的中间出现直线。

2023-12-04 17:32:54 481

原创 Visual Studio开启clang-tidy代码检查

在CLion中有针对C++的静态代码检查工具clang-tidy,感觉非常好用,能养成好的编码习惯,后来写Qt转入了VS平台,想要继续使用功能一致的clang-tidy体验,所以研究出来在VS中开启clang-tidy的方法。版本:Visual Studio Community 2022。

2023-02-16 13:37:59 2466

原创 详解静态成员 什么是静态成员,静态成员和普通成员的区别

为什么要使用静态成员,静态成员的限制是什么,为什么静态函数不能声明为const,静态成员和普通成员的区别。

2022-10-24 12:47:14 2887

原创 C++实现单链表

C++实现链表类,实现链表的增删改查。

2022-09-23 16:47:58 425

原创 LeetCode用数组建立二叉树

LeetCode利用数组构建二叉树

2022-09-01 16:25:18 1162

原创 Java计算一个很大的数(double也存不下)的平方

需求有一个很大的数,doubule都存不下,可能是小数,使用java计算它的平方。原理n位数的平方,其结果的位数范围是 (2n-1)~2n以12345的自乘为例在平行四边形的乘法子式阵列中,每一列进行相加操作,观察得知,i+j的值相等的会处在同一列。比如左数第五列,5+1=4+2=3+3=2+4=1+5(注意此处用了特殊的数字12345,对应实际数字的序号,换成其它数字要用序号去理解。)理解了这一点就好办了。Java实现把数以字符串的方式传入,拆分成char字符串,按位相乘,从数字低

2021-03-20 13:13:01 564

原创 Android Studio及gradle配置踩坑

Android Studio毕竟谷歌的东西,没个梯子的话,空项目都能跑出来一堆错。接下来以Android Studio 4.1.2版本为例,配置国内源仓库和解决gradle问题。1.目录结构这里主要解决第一次构建项目时可能出现的问题,不考虑具体项目配置,所以涉及到的配置文件就图中两个。①外层 build.gradle:项目全局的gradle构建脚本(注意不要找到app文件夹里的那个了)repositories中配置的是仓库地址,Android Studio会从这里的地址下载gradle等工具。

2021-03-11 16:44:47 3372

原创 机器学习正规方程(Normal Equation)推导

利用正规方程求解出使得代价函数最小的参数θ=(XTX)−1XTy\theta=(X^TX)^{-1}X^Tyθ=(XTX)−1XTy有两种推导方法1.矩阵求导已知代价函数为:J(θ)=12(Xθ−y)2=12(Xθ−y)T(Xθ−y)=12(θTXT−yT)(Xθ−y)=12(θTXTXθ−θTXTy−XθyT+yTy)\begin{aligned}J(\theta)&=\frac{1}{2}(X\theta-y)^2\\&=\frac{1}{2}(X\theta-y)^T(X

2021-02-03 23:46:31 336 2

原创 吴恩达机器学习课程:Gradient Descent For Linear Regression

Gradient Descent For Linear RegressionWhich of the following are true statements? Select all that apply.To make gradient descent converge, we must slowly decrease α over time.错误。一般来说越接近局部最低时,曲线的导数越小,梯度下降的幅度就越小(即梯度下降会自动选择较小的幅度)。所以不一定要动态调整α(学习率)的值。Gradi

2021-01-30 11:47:43 230

原创 Redhat8/CentOS8配置网络源,Failed to synchronize cache for repo ‘LocalRepo_AppStream‘, ignoring this repo.

问题在Redhat8中yum安装gtk发生错误。[root@localhost ~]# yum install gtk2-devel.x86_64Updating Subscription Management repositories.Unable to read consumer identityThis system is not registered to Red Hat Subscription Management. You can use subscription-manager

2021-01-24 22:13:14 5887 5

原创 磁盘分区MBR和GPT格式详解(Linux)

1、MBRMBR中柱面是文件系统的最小单位,也就是分区的最小单位。第一个扇区(旧式磁盘中为512字节)中存放着启动引导程序和分区表:主引导记录(Master Boot Record, MBR):可以安装启动引导程序的地方,有446字节;分区表(partition table):记录整块硬盘分区的状态,有64字节。分区表64字节最多仅能有四组记录区。总结:所谓的分区就是针对64字节的分区表进行设置而已。磁盘默认的分区表仅能写入四组分区信息,每组记录区记录了该区段的起始与结束的柱面号码。

2021-01-24 17:25:52 7768

原创 win10微软商店/账号登录一直转圈

解决win10登录微软账户或者微软商店时无法登录问题:1.右键wifi按钮,打开“网络和Internet”设置。2.更改适配器选项3.右键当前的网络连接,选择“属性”4.找到IPv4一项,点击“属性”按钮5.自定义DNS服务器地址:4.4.4.2 、 4.2.2.1点击确定、关闭退出即可。更改此DNS后一般就可以正常登录微软账号或微软商店了,不过会对其它网址的访问造成影响,所以登录完成以后切记改回自动获取DNS。...

2021-01-23 22:11:18 17731

原创 保存Windows聚焦锁屏壁纸

Win10在设置里可以使用Windows聚焦的锁屏壁纸,看到好看的就想保存下来。保存Windows聚焦壁纸的方法:查看个人用户名:打开C盘->用户,除去公用的另一个文件夹的名称就是你的用户名。文件路径:C:\Users\你的个人用户名\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets把复制的个人用户名替换到上面的路径中,然后把路径粘贴到文件管理器的地

2021-01-23 11:52:54 1050

原创 算法导论2.3练习答案

2.3-1使用图2-4作为模型,说明归并排序在数组A=<3,41,52,26,38,57,9,49>上的操作。2.3-2重写过程MERGE,使之不使用哨兵,而是一旦数组L或R的所有元素均被复制回A就立即停止,然后把另一个数组的剩余部分复制回A。使用哨兵的MERGE见文章:C语言实现归并排序无哨兵版:#include <stdio.h>#include <stdlib.h>#include <math.h>#include <strin

2021-01-20 15:53:52 769

原创 C语言实现二分查找,折半查找(迭代/递归)

二分查找输入:一个有序的元素列表(必须是有序的)。输出:如果查找的元素包含在列表中,返回其位置,否则返回NULL。实现方式1.迭代实现:#include <stdio.h>//迭代实现二分查找int binarySearch(int* A, int n, int v) { int low = 0; int high = n - 1; int mid; while (low <= high) { mid = (low + high) / 2; //查找成功

2021-01-20 11:07:22 1090 4

原创 二分查找插入排序(优化的直接插入排序)

直接插入排序基本思想:将序列分为有序区和无序区,再经过比较和后移操作将无序区元素插入到有序区中。//C语言直接插入排序#include <stdio.h>//升序排列void insertionSort(int *A,int n) { for (int i = 1; i < n; i++) { int key = A[i]; int j = i - 1; //线性查找A[i]应插入的正确位置 while (

2021-01-19 21:49:16 2024 2

原创 《算法导论》2.2练习答案

2.2-1用Θ记号表示函数n3/1000-100n2-100n+3舍弃它的低阶项,并忽略前面的常数因子Θ(n3)2.2-2考虑排序存储在数组A中的n个数:首先找出A中的最小元素并将其与A[1]中的元素进行交换。接着,找出A中的次最小元素并将其与A[2]中的元素进行交换。对A中前n - 1个元素按该方式继续。该算法称为选择算法,写出其伪代码。该算法维持的循环不变式是什么?为什么它只需要对前n-1个元素运行?用Θ记号给出选择排序的最好情况和最坏情况运行时间。(1)伪代码:SELECTION-SOR

2021-01-18 21:58:02 1165 1

原创 《算法导论》2.1练习答案

2.1-2重写过程INERTION-SORT,使之按升序排序伪代码实现:INERTION-SORT(A)for j=2 to A.length key=A[j] //Insert A[j] to the sorted sequence A[1..j-1] i=j-1 while i>0 and A[i]<key A[i+1]=A[i] i=i-1 A[i+1]=key附赠C语言实现:#include <stdio.h>void insertSort(

2021-01-18 19:58:21 362

原创 C语言实现归并排序

依照《算法导论》中的描述编写归并排序代码归并排序算法完全遵循分治模式:分解:分解待排序的n个元素的序列成各具n/2个元素的两个子序列。解决:使用归并排序递归地排序两个子序列。合并:合并两个已排序的子序列以产生已排序的答案。伪代码:MERGE(A, p, q, r) n1 = q-p+1 n2 = r-q let L[1....n1+1] and R[1....n2+1] be new arrays for i =1 to n1 L

2021-01-14 20:46:38 793

原创 IDEA报错Client does not support authentication protocol requested by server;

使用IDEA进行jdbc开发时报错com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Client does not support authentication protocol requested by server; consider upgrading MySQL client原因项目使用的m...

2020-04-05 00:34:34 4991 2

转载 8.磁盘存储器的管理

一、外存分配方式目标:有效利用外存空间,提高文件访问速度常用三种方式:连续分配链接分配(不连续)索引分配通常一个系统中仅采用一种方式采用的磁盘分配方式决定了文件的“物理结构”顺序结构;链接式结构;索引式结构。注意与逻辑结构名类似但不是一回事。1.连续分配为每一个文件分配一组相邻的盘块。逻辑文件中的记录顺序与存储器中文件占用盘块的顺序一致。优点:顺序访问容易,读写速度...

2018-12-09 14:01:28 728

转载 7文件管理

一、文件和文件系统文件管理:把所管理的程序和数据组织成一系列的文件,并能进行合理的存储、使用等操作。1.基本概念数据项:描述对象某种属性的字符集;是数据组织中可以命名的最小逻辑数据单位。记录:一组相关数据项集合,描述对象某方面的属性;关键字:一个记录中的一个或几个数据项的集合,用于唯一的标识一个记录。文件:由创建者定义的、具有文件名的一组相关元素的集合。有结构:由相关记录组成无结...

2018-12-09 13:58:51 195

转载 6.1I/O系统的功能、模型和接口

I/O系统的组成包括:需要用于输入、输出和存储信息的设备;需要相应的设备控制器;控制器与CPU连接的高速总线;有的大中型计算机系统,配置I/O通道;管理对象:I/O设备和相应的设备控制器(I/O系统组成)基本任务:完成用户提出的I/O请求,提高I/O速率、改善I/O设备的利用率。为更高层进程方便使用设备提供手段一、I/O系统的功能、模型和接口1.主要功能:隐...

2018-12-09 11:14:49 3140 1

转载 5.1虚拟存储器概述

一、常规存储器管理方式和局部性原理1.常规存储器管理不足的原因:常规存储器管理方式的特征一次性:作业在运行前一次性地全部装入内存驻留性:作业装入内存后,便一直驻留在内存中,直至作业运行结束。 一次性及驻留性在程序运行时是否是必须的? NO。程序运行有局部性。2.局部性原理(1)程序在执行时将呈现出局部性规律:在一较短的时间内程序的执行仅局限于某个部分;相应地,所访问...

2018-12-09 10:39:00 504

转载 4.6分段存储管理方式、段页式存储管理方式

一、引入分段存储管理方式的目的:从提高内存利用率角度:固定分区-&amp;gt;动态分区-&amp;gt;分页从满足并方便用户(程序员)和使用上的要求角度:分段存储管理:作业分成若干段,各段可离散放入内存,段内仍连续存放。①方便编程:如汇编中通过段:偏移确定数据位置②信息共享:同地位的数据放在一块方便进行共享设置③信息保护④动态增长:动态增长的数据段事先固定内存不方便⑤动态链接:往往也是以逻辑...

2018-12-08 21:31:45 1182

转载 4.5分页存储管理方式

本部分讨论不具备对换功能的纯分页模式,作业运行需要全部装入内存。比较连续分配方式:作业逻辑地址空间有M大,就需要向内存申请一个M大的连续区域。分页的目的是更细粒度的处理空间,减少粗放管理的浪费或开销问题。一、概念1.页面内存划分成多个小单元,每个单元K大小,称(物理)块。作业也按K单位大小划分成片,称为页面。物理划分块的大小 = 逻辑划分的页的大小页面大小要适中。太大,(...

2018-12-08 21:17:41 621

转载 4.3连续分配存储管理方式 4.4对换

为了能将用户程序装入内存,必须为它分配一定大小的内存空间。连续分配方式是最早出现的一种存储器分配方式。分类:单一连续分配固定分区分配动态分区分配动态重定位分区分配一、单一连续分配(单道程序环境下)内存分为系统区和用户区两部分:系统区:仅提供给OS使用,通常放在内存低址部分用户区:除系统区以外的全部内存空间,提供给用户使用。在用户区内存中,仅有一道用户程序,即整个内存的用...

2018-12-08 17:26:10 549

转载 4.1存储器的层次结构 4.2程序的装入和链接

一、多层结构的存储器系统寄存器:速度最快,价格昂贵容量不大,一般以字为单位,只要存放指令一次操作的数据就够了 。高速缓存(速度快、存放部分内存数据、硬件自动处理):容量远大于寄存器,访问速度快于主存储器。一种速度比内存快的存储设备,一般同寄存器一样集成在CPU中。存放内存的部分拷贝,把常用的数据放这里可以提高速度。将短时间内经常访问的部分数据从内存放到高速缓存中,减少CPU访问内存...

2018-12-07 20:54:40 174

转载 3.6死锁的检测与解除

当系统为进程分配资源时,若未采取任何限制性措施,则系统必须提供检测和解除死锁的手段,为此系统必须:保存有关资源的请求和分配信息;提供一种算法,以利用这些信息来检测系统是否已进入死锁状态。资源分配图系统死锁可利用资源分配图来描述。圆圈表示进程方框表示一类资源,其中的一个点代表一个该类资源请求边由进程指向方框中的资源分配边则由方框中的一个点即资源。一、死锁的检测1.检测时机:...

2018-12-06 21:10:28 349

转载 3.5预防死锁的方法

一、预防死锁资源的排他性无法更改,故在其他3个条件上入手(1)摒弃“请求和保持”条件:所有进程开始运行前,必须一次性的申请其在整个运行过程所需的全部资源(AND)。算法简单、易于实现且很安全。但缺点是资源浪费严重、或进程延迟运行。(2)摒弃“不剥夺”条件:允许进程先运行,但当提出的新要求不被满足时必须释放它已保持的所有资源,待以后需要时再重新申请。实现比较复杂且付出很大代价。可能会造成前功尽...

2018-12-06 20:57:22 993 1

转载 3.4产生死锁的原因和必要条件

多道程序系统借助并发执行改善资源利用率,提高系统吞吐量,但可能发生一种危险——死锁。死锁(Deadlock):指多个进程在运行过程中,因争夺资源而造成的一种僵局。当进程处于这种状态时,若无外力作用,它们都将无法再向前推进。死锁(Deadlock): 指进程之间无休止地互相等待饥饿(Starvation):指一个进程无休止地等待!一、产生死锁的原因和必要条件1.产生死锁的原因竞争资...

2018-12-06 20:03:35 574

转载 3.3实时调度

一、实时系统:指系统能够在限定的响应时间内提供所需水平的服务。指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统出错。实时任务:具有明确时间约束的计算任务,有软/硬,随机/周期性之分。硬实时任务:必须满足任务对截止时间的要求软实时任务:联系着一个截止时间,但不严格,可偶尔错过,不会对系统造成大的影响。(实时系统的任务往往...

2018-12-06 19:36:28 651

转载 3.2调度算法

调度的实质就是一种资源分配。不同的系统和系统目标,通常采用不同的调度算法——适合自己的才是最好的。批处理系统为照顾为数众多的短作业,应采用短作业优先的调度算法;分时系统为保证系统具有合理的响应时间,应采用轮转法进行调度。目前存在的多种调度算法中,有的算法适用于作业调度,有的算法适用于进程调度;但有些算法作业调度和进程调度都可以采用。1、先来先服务调度算法(FCFS)一种最简单的调度算...

2018-12-04 20:28:45 398

转载 3.1处理机调度

1.基本概念:多道程序环境下,动态的把处理机分配给就绪队列中的一个进程使之执行。提高处理机的利用率、改善系统性能,很大程度上取决于处理机调度的性能。2.处理机调度层次:2.1高级调度(High Level Scheduling)又称作业调度或长程调度(Long-Term Scheduling),接纳调度(Admission Scheduling),主要在早期批处理阶段,处理在外存上的作业...

2018-11-18 10:09:45 126

原创 2.7线程Threads

线程是进程中的一个实体,是被系统独立调度和分派的基本单位。在多线程OS中,通常是在一个进程中包括多个线程。1.线程的引入:引入线程的目的:减少程序在并发执行时所付出的时空开销,在追求效率的前提下实现并发。注: 利用进程实现的多道程序系统中,频繁的进程切换会浪费大量时空开销。限制并发程度问题所在:进程实体信息量大,对进程的管理操作越多,与运行时间的比值就越大,运行效率就低。当A进程内的a1...

2018-11-06 21:21:54 612

原创 2.6进程通信

定义进程通信指进程之间的信息交换。低级进程通信:程序员要参与进去。缺点:①效率低②通信对用户不透明(具体工作由程序员实现)高级进程通信:具体工作都交给操作系统。优点:①使用方便(对用户透明)②高效地传送大量数据进程通信的类型高级通信机制可归结为四大类:1.共享存储器系统(Shared-Memory System)(操作存储区方式)(1).相互通信的进程共享某些数据结构或共享存...

2018-10-16 22:28:19 749

原创 经典进程的同步问题

问题描述:五个哲学家共用一张圆桌,分别坐在周围的五张椅子上,在桌子上有五只碗和五只筷子,他们的生活方式是交替地进行思考和进餐。平时,一个哲学家进行思考,饥饿时便试图取用其左右最靠近他的筷子,只有在他拿到两只筷子时才能进餐。进餐毕,放下筷子继续思考。问题分析:放在桌子上的筷子时临界资源,在一段时间内只允许一位哲学家使用,为了实现对筷子的互斥使用,可以用一个信号量表示一只筷子,由这五个信号...

2018-10-07 21:16:06 284

原创 进程同步问题——卡车装水

问题描述:有10辆卡车,每车可装20桶水,装满开走,两个工人装水,装满10辆车,使用普通变量和信号量实现进程控制。问题分析:1、一辆车装完20桶水后才能进行下一辆车的操作,因此车之间是互斥的。2、两个工人之间没有互斥关系,可同时装水,但装满后需及时停止装水操作(两个工人不能同时进行对当前已装桶数进行统计),装满后释放当前车辆并对下一车辆进行操作。伪代码实现:依据分析结果设置...

2018-09-26 20:45:15 259

原创 经典进程的同步问题——生产者消费者问题

问题描述:有一群生产者进程在生产产品,并将这些产品提供给消费者进程去消费。为使生产者进程与消费者进程能并发执行,在两者间设置了一个具有n个缓冲区的缓冲区池,生产者进程将其生产的产品放入一个缓冲区中,消费者进程可从一个缓冲区中取走产品去消费。尽管所有的生产者进程都是以异步方式运行的,但它们之间必须保持同步,既不允许消费者进程到一个空缓冲去取产品,也不允许生产者进程向一个已装满产品且尚未被取走的缓...

2018-09-26 17:35:35 9443 1

开启或关闭Oracle服务脚本

键入“1”回车自动开启oracle服务,键入“2”回车自动关闭oracle服务。12c适用,其它的没试过。

2018-06-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除