每天一道LeetCode-----使用最少的操作将一个字符串转换成另一个字符串,只有插入,删除,替换三种操作

原题链接Edit Distance 题目要求,输入两个字符串word1和word2,计算可以将word1转换成word2的最小的操作次数,可以执行的操作如下,每个操作算作1次 将word1的某个字符删除 在word1当前位置插入一个字符 将word1当前位置的字符替换成另一个字符 上面的三个操作...

2017-11-30 17:50:50

阅读数 4999

评论数 1

每天一道LeetCode-----化简路径

每天一道LeetCode—–化简路径原题链接Simplify Path要求是输入一个路径,由于路径中存在”..”,”.”等特殊标记符,所以字符串表示的路径可能不是真实路径,返回真实的路径对于特殊字符的解释如下 “..”表示回到上一级,如/home/a/../实际指向的路径是/home “.”可以略...

2017-11-29 14:49:45

阅读数 78

评论数 0

每天一道LeetCode-----找到有多少个组合加起来和是n,每个组合的数字只能是1或者2

Climbing Stairs原题链接Climbing Stairs 找到有多少个组合的和是给定的n,要求组合中的每个数字只能是1和2动态规划即可 代码如下class Solution { public: int climbStairs(int n) { vecto...

2017-11-28 16:08:23

阅读数 433

评论数 0

文章标题

一个任务由两部分组成 任务执行空间,由代码段,栈段,和一个或多个数据段组成 任务状态段(TSS) 如果操作系统使用处理器特权级机制,那么任务执行空间会对每个特权级提供不同的栈(实际上是对0, 1, 2三个特权级分别提供不同的栈)一个正在被执行的任务状态包括 任务当前执行的空间,由各种段选择子决定(...

2017-11-28 00:53:47

阅读数 58

评论数 0

每天一道LeetCode-----重新实现开方运算sqrt(x),只返回整数部分即可

Sqrt(x)原题链接Sqrt(x) 重新实现开方运算。因为要求实现的开方运算只需要返回整数部分即可,所以首先考虑一下当n为多少时可以返回。 n是给定x的开方结果一定满足 n * n <= x (n + 1) * (n + 1) > x 所以可以从这两点入手,同时,因为结果可以...

2017-11-27 20:06:38

阅读数 248

评论数 0

每天一道LeetCode-----将单词数组分成多行,每行长度相同,单词之间用空格分隔,要求空格尽量均匀分布

Text Justification原题链接Text Justification 将以这个字符串数组重组成几行,每个字符串用空格分隔,要求 每行的长度相同 每行的空格需要均匀分配,且每个单词之间至少有一个空格 最后一行尽量将空格放在最后面 首先思路是记录已遍历到的单词的总长度,判断是否还能容...

2017-11-26 16:04:38

阅读数 438

评论数 0

每天一道LeetCode-----将用数组表示的整数加一,两个用字符串表示的(二进制)数相加

Plus One原题链接Plus One 用数组表示一个整数,返回这个整数加一后的数组其实只要从后面开始找,直到找到第一个不为9的位置,将其值加一然后就可以返回了,之前的9都变为0。 因为后面都是9,加一都变成0,然后向高位进位,使高位加一,只要当高位不是9时才会停止继续向高位进位,所以从...

2017-11-23 16:52:27

阅读数 179

评论数 0

每天一道LeetCode-----计算从二维数组的左上角到达右下角的所有路径数及最短的那条,如果存在障碍物时又是多少

Unique Paths原题链接Unique Paths 计算从左上角有多少条不同的路径可以到达右下角,移动方向只能是向右和向下。对于每个位置,都有两种移动的可能,即向右移动和向下移动。可以用深度优先(dfs)解决,同时为了解决重复计算,可以用动态规划的思想,记录从dp[i][j]到达右下角...

2017-11-21 16:56:25

阅读数 2417

评论数 0

每天一道LeetCode-----将数组/链表后k个元素移动到前面

Rotate Array原题链接Rotate Array 回转一个给定数组k步,本质上是将后k个元素移动到前面(需要保证k小于数组元素个数)不在原数组上操作的话比较简单,新开一个vector保存回转后的顺序,然后copy到原数组上,时间和空间复杂度都是O(n)如果需要在原数组上操作的话,就不...

2017-11-20 20:38:44

阅读数 513

评论数 0

IA-32 Intel手册学习笔记(二)保护模式下的内存管理

内存管理概述(Memory Management Overview)Inter体系结构的内存管理可分为两部分:分段和分页。 分段提供了一种机制,这种机制可以为每个程序或者任务提供单独的代码、数据和栈模块,这就保证了多个进程或者任务能够在同一个处理器上运行而不互相干扰。 分页机制提供了虚拟内存系统,...

2017-11-20 16:52:41

阅读数 262

评论数 0

每天一道LeetCode-----将间隔集中有重叠的间隔合并

Merge Intervals原题链接Merge Intervals 合并所有有重叠的间隔对于两个间隔interval1和interval2,二者有重叠的情况为 interva1全部包含interval2,也就是说interval1.start <= interval2.start &...

2017-11-19 19:43:37

阅读数 249

评论数 0

每天一道LeetCode-----将m × n矩阵按照顺时针螺旋顺序转化成一维数组

Spiral Matrix原题链接Spiral Matrix 给定一个m × n矩阵,按照顺时针螺旋顺序将矩阵转化成一维数组。 螺旋的方向是先从左向右,再从上到下,然后从右到左,最后从下到上。所以方向可以用{0, 1},{1, 0},{0, -1},{-1, 0}四个方向向量表示。每个方向...

2017-11-17 14:17:47

阅读数 2208

评论数 0

每天一道LeetCode-----找到给定数组的连续子数组,使这个子数组的和最大,要求复杂度为O(n)

Maximum Subarray原题链接Maximum Subarray 在给定数组中找到一个子数组(连续),使这个子数组的和最大。O(n2)的解法是求sum[i] - sum[j]的最大值,形如sum[i]的式子表示数组[0 : i)的和。这种方法需要i和j都从[0:n)遍历一遍,复杂度比...

2017-11-16 17:15:46

阅读数 674

评论数 0

每天一道LeetCode-----n皇后问题

N-Queens原题链接N-Queens n皇后问题,和数独问题一样,都是回溯法的经典题目。 n皇后问题约束是任意两个皇后不能在一行,不能在一列,不能在同一个45度直线,不能在同一个135度直线上。所以求解时需要记录 当前行是否已经存在一个皇后 当前列是否已经存在一个皇后 当前位置所在的4...

2017-11-15 16:53:22

阅读数 521

评论数 0

每天一道LeetCode-----求一个数的n次方,n是很大很大的数,n用数组存储着

Pow(x, n)原题链接Pow(x, n) 给定一个数,求n次方。n次方可以分解成两个n/2次方相乘,所以递归即可。class Solution { public: double myPow(double x, int n) { bool negative = n ...

2017-11-14 20:33:57

阅读数 826

评论数 0

每天一道LeetCode-----找到一个字符串在另一个字符串出现的位置,字符串内部顺序无要求

Valid Anagram原题链接Valid Anagram 实际上就是判断两个字符串中每个字符出现的个数是否相等,直接计算每个字符的个数就可以了。class Solution { public: bool isAnagram(string s, string t) { ...

2017-11-13 12:49:07

阅读数 261

评论数 0

每天一道LeetCode-----顺时针旋转n×n矩阵90度

Rotate Image原题链接Rotate Image 原地旋转n × n矩阵90度正方形的旋转问题可以一圈一圈的旋转,先旋转最外层,然后内层,再内层。需要旋转的次数是矩阵行数的一半。旋转过程中元素的交换可以多次取值找规律,方法如下matrix[i][j] -> matrix[j][...

2017-11-12 13:04:37

阅读数 1320

评论数 1

每天一道LeetCode-----数组序列,每个元素的值表示最多可以向后跳多远,计算最少跳多少次可以到达末尾

Jump Game II原题链接Jump Game II 给定一个数组序列,序列中每一个元素的值表示最多可以向后跳多远,初始时从下标0开始,计算最少跳多少次可以到达末尾的元素位置。刚开始是想用深度优先(dfs)+ 动态规划解决的,结果竟然超时了,看到答案后真是….哎╮(╯▽╰)╭对于每个位置...

2017-11-11 13:49:46

阅读数 1746

评论数 0

每天一道LeetCode-----计算一个直方图空隙的容量(如果装水能装多少)

Trapping Rain Water原题链接Trapping Rain Water 给定一序列,表示一个直方图每个柱的高度(图中黑色部分),计算这个直方图可以存储的容量(图中浅蓝色部分)直观的想法可能是直接求容量,比如说计算高度为2和高度为3的两个柱子之间的容量,但是需要减去二者之间的其他...

2017-11-10 14:11:40

阅读数 341

评论数 0

每天一道LeetCode-----给定大小为n+1的数组,元素大小在[1 : n]之间,只有一个元素会重复出现多次,找到重复的那个

Find the Duplicate Number原题链接Find the Duplicate Number 给定一定大小为n+1的数组,数组中的元素只可能是1到n中的数字,包括1和n。在数组中,有一个数字重复了多次,找到这个数字。 要求不能改变源数组的值,空间复杂度为O(1),时间复杂度...

2017-11-09 19:11:35

阅读数 1051

评论数 0

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