2 MuggleR

尚未进行身份认证

我要认证

Nothing.

等级
TA的排名 33w+

DOS-BOX运行汇编程序

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

2020-04-20 15:58:28

动态规划——矩阵链乘

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

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

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

2020-04-06 17:08:51

动态规划——背包问题

一、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

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

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

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

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

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

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

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

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

动态规划——三步问题

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

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

约瑟夫环问题

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

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

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

合并两个排序的链表

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

2020-03-25 16:48:50

面试题——和为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

按摩师问题

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

2020-03-24 23:17:07

多数元素

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

分治法——基于快速排序求第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

分治法——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

分治法——二分检索

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

2020-03-14 10:30:36

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。