自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 C++ vector操作

【代码】C++ vector操作。

2024-01-24 15:07:10 378

原创 MySql数据库给列加unique约束

一、切换数据库到要修改的表所在的数据库use database_name;例如 use try;二、加unique约束alter table table_name add unique(column_name);出现Query OK, 0 rows affected (0.80 sec)Records: 0 Duplicates: 0 Warnings: 0表示修改成功了!...

2020-12-29 23:48:04 677

原创 Linux常用操作

1.获得Linux的版本在命令行输入apt-cache search linux-source回车后,出现下列字符串linux-source - Linux kernel source with Ubuntu patcheslinux-source-5.4.0 - Linux kernel source for version 5.4.0 with Ubuntu patches可以看到我的Linux的版本为5.4.02.下载对应版本Linux内核源码apt-get install linu

2020-12-24 23:08:48 155

原创 启动MySql数据库

一、以管理员身份运行命令提示符二、输入mysqld --initialize-insecure --user=mysql三、输入mysqld -install四、输入net start mysql五、输入mysql -u root -p六、输入密码出现mysql>七、输入quit八、输入net stop mysql...

2020-12-09 00:43:31 7139 1

原创 运行第一个JSP文件

一、创建文件夹在tomcat文件夹里的webapps文件夹下新建一个名为my的文件夹二、编写程序在\webapps\my下新建一个jsp文件,例如命名为one.jsp内容为<html> <body> <p>Hello, this is my first jsp page!</p> </body></html>三、启动Tomcat服务器四、在浏览器中输入http://localhost:8080/my/one.j

2020-12-07 23:40:20 352

原创 【Servlet】实现HelloWorld程序

一、安装确认Tomcat正常**第一步:**在命令行中输入cd命令,转到Tomcat安装包的bin目录下,如果目录没有改变,输入d:**第二步:**转入bin目录下后,输入startup.bat**第三步:**在浏览器网址中输入http://localhost:8080,8080为默认端口号,可以修改,如果出现以下界面则Tomcat正常二、建立一些文件夹**第一步:**在Tomcat包的webapps文件夹里创建my文件夹,创建后,webapps文件夹如下所示**第二步:**在my文件见下

2020-11-22 18:07:24 2282 1

原创 DOS-BOX运行汇编程序

调试好后,第一步输入masm filename.asm,多次点击回车,直到出现上述界面。第二步:输入link filename.obj,多次点击回车,如果没有错误,进行第三步,否则调试。第三步:输入filename.exe,点击回车。...

2020-05-23 17:36:59 963

原创 动态规划——矩阵链乘

1.问题描述对n个矩阵进行矩阵乘法运算,矩阵乘法满足结合律,对于不同的结合方法,得到的乘法次数不同,求n个矩阵进行矩阵乘法时的最少乘法次数。例:有三个矩阵A、B、C,其中A(2×30),B(30×2),C(2×1)如果按照(AB)C计算,则乘法次数为2×30×2+2×2×1=124如果按照A(BC)计算,则乘法次数为30×2×1+2×30×1=60+60=1202.问题解决我们用一个大...

2020-04-08 09:56:17 233

原创 动态规划——求DAG中最长路径

1.问题描述给定一个有向无环加权图,求图中的最长路径。该图中的最长距离为14,即2->4->6->2。2.问题解决首先我们要对有向无环加权图进行拓扑排序。拓扑排序的意思简要来说就是将图中顶点和边排成一个线性序列,对于<vi, vj>,经拓扑排序后一定满足vi在vj的前面。拓扑排序的实现方法:首先找出图中入度为0的点加入拓扑排序后的序列,例子中为S,接着将...

2020-04-06 17:08:51 4218

原创 动态规划——背包问题

一、0—1背包问题1.问题描述有编号为0,1,2,…,n-1的n个物品,每个物品只有1个,价值分别为v1,v2,…,v(n-1),重量分别为w1,w2,…,w(n-1)。现有一个最大承重为c的背包,求用这个背包最大能装多大价值的物品。2.问题解决这是一个典型的动态规划的题目,关键是要找出递推关系式。用max(i, j)表示当前物品为i,物品总重量为j时的最大价值。由于每个物品只有一个,...

2020-04-05 21:12:14 370

原创 动态规划——最小编辑距离

1.问题描述给定两个单词word1和word2,计算出将word1转换成word2所使用的最少操作数。你可以对一个单词进行如下三种操作:1.插入一个字符2.删除一个字符3.替换一个字符示例1:输入:word1="horse",word2="ros"输出:3解释:horse->rorse(替换)rorse->rose(删除)rose->ros(删除)2....

2020-04-05 16:14:02 120

原创 动态规划——礼物的最大价值

1.问题描述在一个m*n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(大于0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格,直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?示例1:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出:12解释:路径1——3——5——2——1可以拿到最大...

2020-04-04 23:17:18 297

原创 动态规划——三角形最小路径和

1.问题描述给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为11(即2+3+5+1=11)。2.问题解决用 D( i, j ) 表示第 i 行第 j 个元素到最上方元素(例子中为2)的最小距离,同时用a(i, j)表示第...

2020-04-02 22:54:45 343

原创 动态规划——股票的最大利润

1.问题描述假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例1:输入:[7, 1, 5, 3, 6, 4]输出:5解释:价格为1时买入,价格为6时卖出示例2:输入:[7, 6, 4, 3, 1]输出:0解释:这种情况下,没有交易完成2.问题解决设置两个变量pre=0和max=0,分别表示买入股票的时间在数组中的下标和最大利润。遍...

2020-04-02 21:03:55 542

原创 动态规划——三步问题

1.问题描述有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或者3阶。实现一种方法,计算小孩有多少种上楼梯的方式。当n比较大时(比如n=1000000),结果会很大,要求对结果进行模1000000007操作。2.问题解决n=1时,结果为1n=2时,结果为2 ( 2、1 1 )n=3时,结果为4( 3、2 1、1 2、1 1 1 )当n比较大时,他最后一次可能上了1阶,也可能...

2020-04-02 19:46:08 667

原创 Python安装了wxPython但在anaconda下不可用

在命令行模式下使用pip install -U wxPython命令成功安装了wxPython开发包,使用Spyder和Jupyter写简单的程序时却出了错。import wxapp=wx.App()frm=wx.Frame(None,title="Hello!",size=(400,300),pos=(100,100))frm.Show()app.MainLoop()这个程序在S...

2020-04-01 23:22:34 1353

原创 约瑟夫环问题

1.问题描述0 1 2…n-1这n个数字围成一个环,从数字0开始数1,每次从这个圆圈里删除第m个数。求这个圆圈剩下的最后一个数。例如,0 1 2 3 4这5个数组成一个圆圈,从数字0开始每次删除第3个数字,则删除的4个数字以此为2、0、4、1,因此剩下的数字是3。2.解决方案(1)环形链表实现学数据结构链表的时候一般老师会出约瑟夫环这道题目。我们可以构造一个环形链表,从第一个结点开始数...

2020-03-30 17:04:15 139

原创 LeetCode——连续数列

1.问题描述给定一个整数数组(有正数、有负数,也可以全正或全负),找出总和最大的连续数列,并返回总和。示例:输入:[-2, 1, -3, 4, -1, 2, 1, -5, 4]输出:6解释:[4, -1, 2, 1]和为62.代码实现int maxSubArray(vector<int>& nums){ int len=nums.size(); ...

2020-03-26 19:00:31 390

原创 BFPTR算法——求第k小元素

1.问题描述输入一个规模为n的数组,求数组中的第k小元素,其中1<=k<=n。2.BFPTR算法描述之所以介绍BFPTR算法,是因为这个算法求第k小元素的时间复杂度为O(n),时间复杂度分析见文末。(1)文字描述第一步:对数组中元素连续5个为一组进行分组,每一组都进行排序。第二步:选取每组中的中间元素进入数组MID。第三步:利用BFPTR算法求出MID数组中的中间元素mi...

2020-03-25 23:39:58 347

原创 合并两个排序的链表

1.问题描述输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是递增排序的。示例输入:1->2->4,1->3->4输出:1->1->2->3->4->4这个题目学数据结构链表的时候已经讲过了,昨天在leetcode上又遇到了,没想到第一遍 wrong了,还是写写这篇博客吧。2.代码实现ListNode* mergeTw...

2020-03-25 16:48:50 85

原创 面试题——和为s的两个数字

1.问题描述输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出乘积最小的一对即可。示例1:输入:[2, 7, 11, 15],s=9输出:[2, 7]或者[7, 2]2.问题解决(1)变治法设a + b = s,则b = s - a,a - s / 2 = a - s / 2,b - s / 2 = s / 2 - a。将...

2020-03-25 11:21:10 111

原创 按摩师问题

1.问题描述一个有名的按摩师会收到源源不断地预约请求,每个预约都可以选择接或者不接。在每次预约服务之间要有休息时间,因此她不能接受相邻地预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。(1)示例1输入:[1, 2, 3, 1]输出:4解释:选择一号和三号预约(2)示例2输入:[2, 7, 9, 3, 1]输出:12解释:选择一号、三号和五...

2020-03-24 23:17:07 226

原创 多数元素

1.问题描述给定一个大小为n的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于的元素。你可以假设数组是非空的,且给定的数组总是存在多数元素。(1)实例1:输入:[3, 2, 3]输出:3(2)实例2:输入:[2, 2, 1, 1, 1, 2, 2]输出:22.解决方法:(1)暴力求解法对一个输入规模为n的数组A,可额外设置两个大小为⌊ n/2 ⌋的数组count(用来...

2020-03-24 22:43:01 272

原创 分治法——基于快速排序求第k小元素

1.问题描述给定一个序列,求序列中的第 k 小,k的取值范围为1~n。2.问题分析这个问题我们可以在快速排序的基础上使用分治法加以实现。首先对数组a进行分割,一次分割使得所选的元素(一般为a[0])在正确的位置,其左边的数都比它小,右边的数都比它大,返回这个元素的下标mid。(1)如果k=mid+1,那么a[mid]即为第k小元素。(2)如果k<mid+1,说明第k小元素应该做分...

2020-03-24 12:22:40 1555

原创 分治法——Hanoi塔

1.Hanoi塔算法的基本原理:(1)问题描述:有n个不同大小的盘子和三根木柱A, B, C,一开始,所有的盘子按照上小下大的顺序套在A柱上,要把n个盘子移到C柱上,一次只能移动一个盘子,且不允许将较大的盘子放在较小的盘子上,可使用B柱作为辅助。(2)算法描述:算法Hanoi(A,C,n) //n个盘子从A移到Cif n=1 then move(A,C) //1个盘子可直接从A移到C...

2020-03-14 11:03:59 485

原创 分治法——二分检索

1.分治法(Divide and Conquer)简介:思想:(1)将原始问题划分或者归结为规模更小的子问题(2)递归或者迭代求解每个子问题(3)将子问题的解综合得到原问题的解应满足的条件:(1)子问题与原始问题性质完全一样(2)子问题之间可以彼此独立地求解(3)递归停止时子问题可以直接求解2.二分检索算法的基本原理:前提是要检索的数组有序(此处假定为升序)。迭代算法:算法...

2020-03-14 10:30:36 1041

原创 排序算法——归并排序

1.归并排序算法的基本原理如下:归并排序算法的基本思想是“分治法”,本文的程序实现采用递归。伪码表示:算法 MergeSort(A,p,r)输入:数组A[p…r]输出:升序排列的数组Aif p<rthen q<-(p+r)/2 MergeSort(A,p,q)//递归处理左部分元素 MergeSort(A,q+1,r)//递归处理右部分元素 ...

2020-03-12 10:48:33 145

原创 排序算法——快速排序

1.快速排序的基本原理如下:(1)通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小。(2)按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。2.程序实现:int split(int a[],int low,int high){ int temp=a[low]; for(;;) ...

2020-03-11 17:16:50 339 1

原创 排序算法——简单插入排序

1.简答插入排序算法的原理如下:(1)待排序数组A[0…n-1]分为有序区和无序区,初始状态下整个数组中只有A[0]属于有序区。(2)从下表为1的元素开始遍历,第i次遍历时,将A[i]插入到有序区某个位置,保持有序区仍然为有序,有序区元素个数加1。(3)举个栗子,对数组A={2,0,1}进行插入排序初始状态:3,5,4,0第一步:3,5,4,0第二步:3,4,5,0第三步:0,3,4...

2020-03-11 16:13:01 1917

原创 排序算法——选择排序

1.选择排序算法的原理如下:(1)待排序数组A[ 0…n-1] 可在逻辑上分为有序区和无序区。(2)初始状态,有序区为空,第一趟遍历后,在n个数中找到最小的数,将该数与A[0]交换位置,最小的数处在有序区;(3)第i趟遍历后,在无序区中找到最小的数,与A[i]交换位置,无序区数的个数加1;(4)遍历n-1趟,排序完成。2.程序实现:void selectSort(int a[],int...

2020-03-10 15:42:56 182

原创 排序算法——冒泡排序

1.冒泡排序算法的原理如下:(1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。(2)对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。(3)针对所有的元素重复以上的步骤,除了最后一个。(4)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。2.程序实现:void BubbleSort(int a[],int ...

2020-03-10 15:15:03 129

空空如也

空空如也

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

TA关注的人

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