自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dreamispossible的博客

踏踏实实写代码

  • 博客(13)
  • 收藏
  • 关注

原创 删除排序数组中的重复项(I和 II)

描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定...

2019-06-25 23:49:40 773

原创 一看就懂的贪心算法

写在前面的话今天我介绍的主题是贪心算法。这是相对比较容易的一种算法。我这里不给出定义,因为大家可以自行网络搜索。咱们直接看例子。贪心算法,如果不用手动证明一个问题的数学性质的话,其实是比较简单的。看这样一个例子:假设有一个背包,其最大容量是50KG,现在有各种不同价值的液体,比方说,有水,其价值是10 每千克,共100KG;酒精,其价值是20 每千克,共30KG;有油,价值25每千克,共30...

2019-06-22 23:28:56 996

原创 腾讯面试题:有了二叉查找树、平衡树为啥还需要红黑树?

1、二叉查找树的缺点二叉查找树,相信大家都接触过,二叉查找树的特点就是左子树的节点值比父亲节点小,而右子树的节点值比父亲节点大,如图基于二叉查找树的这种特点,我们在查找某个节点的时候,可以采取类似于二分查找的思想,快速找到某个节点。n 个节点的二叉查找树,正常的情况下,查找的时间复杂度为 O(logn)。之所以说是正常情况下,是因为二叉查找树有可能出现一种极端的情况,例如这种情况也是满...

2019-06-19 23:46:35 1711

原创 字符串匹配BM(Boyer-Moore)算法:文本编辑器中的查找功能是如何实现的?

写在前面的的话关于字符串匹配算法有很多,之前我有写过一篇 KMP 匹配算法:https://blog.csdn.net/dreamispossible/article/details/91359237 不懂 kmp 的建议看下,写的还不错,这个算法虽然很牛逼,但在实际中用的并不是特别多。至于选择哪一种字符串匹配算法,在不同的场景有不同的选择。在我们平时文档里的字符查找里采用的就是 Bo...

2019-06-17 22:42:27 1115

原创 手套

题目描述在地下室里放着n种颜色的手套,手套分左右手,但是每种颜色的左右手手套个数不一定相同。A先生现在要出门,所以他要去地下室选手套。但是昏暗的灯光让他无法分辨手套的颜色,只能分辨出左右手。所以他会多拿一些手套,然后选出一双颜色相同的左右手手套。现在的问题是,他至少要拿多少只手套(左手加右手),才能保证一定能选出一双颜色相同的手套。给定颜色种数n(1≤n≤13),同时给定两个长度为n的数组l...

2019-06-12 23:40:42 944

原创 跳石板

题目描述小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3…这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。例如:N = 4,M = 24:4->6-...

2019-06-10 23:16:23 743

原创 数字和为sum的方法数

题目描述给定一个有n个正整数的数组A和一个整数sum,求选择数组A中部分数字和为sum的方案数。当两种选取方案有一个数字的下标不一样,我们就认为是不同的组成方案。输入描述:输入为两行:第一行为两个正整数n(1 ≤ n ≤ 1000),sum(1 ≤ sum ≤ 1000)第二行为n个正整数A [i] (32位整数),以空格隔开。输出描述:输出所求的方案数#include&lt...

2019-06-10 23:09:31 796

原创 我所理解的KMP算法

字符串匹配算法字符串匹配是计算机的进行的非常频繁的算法。简单的说,有一个字符串 I have a dream. 。我想知道的事情是,里面是否包含另一个字符串 dream ?因为执行的非常频繁,所以算法的效率也就十分重要。而本文所说的KMP算法,无疑是速度上面的佼佼者,它可以在 O(n+m) 的时间完成匹配。KMP算法由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因...

2019-06-09 23:54:36 798

原创 阶乘相关的一些面试题

案例一       给定一个整数 N,那么 N 的阶乘 N! 末尾有多少个 0?例如: N = 10,则 N!= 3628800,那么 N! 的末尾有两个0。      有些人心想,这还不简单,直接算出 N!的值,然后用除以 10 来判断多少个 0 就可以了。&nbsp...

2019-06-08 16:39:15 1016

原创 面试中被问到三次握手四次挥手应该怎么回答?---------不看后悔系列

写在前面的话在面试中,三次握手和四次挥手可以说是问的最频繁的一个知识点了,我相信大家也都看过很多关于三次握手与四次挥手的博客,今天的这篇博客,重点是围绕着面试,我们应该掌握哪些比较重要的点,哪些是比较被面试官给问到的,我觉得如果你能把我下面列举的一些点都记住、理解,我想就差不多了。三次握手当面试官问你为什么需要有三次握手、三次握手的作用、讲讲三次三次握手的时候,我想很多人会这样回答:首...

2019-06-08 16:05:01 30922 8

原创 找出不大于N的最大的2的幂指数

      传统的做法就是让 1 不断着乘以 2,代码如下:int findN(int N){ int sum = 1; while (true) { if (sum * 2 > N) { return sum; } sum = sum * 2; } }  &nbs...

2019-06-07 22:25:12 4266 2

原创 m的n次方

      如果让你求解 2 的 n 次方,并且不能使用系统自带的 pow 函数,你会怎么做呢?这还不简单,连续让 n 个 m 相乘就行了,代码如下:int pow(int n){ int tmp = 1; for (int i = 1; i <= n; i++) { tmp = tmp * m; } return...

2019-06-07 22:14:03 4202

原创 腾讯面试题,如何寻找一个数组里面唯一不重复的元素?要求时间复杂度o(n)和空间复杂度o(1)

找出不重复的数题目描述: 有一组存放 ID 的数据。并且 ID 取值为 0 - (N-1) 之间,其中只有一个 ID 出现的次数为 1,其他的 ID 出现的次数都等于 2,问如何找到这个次数为 1 的 ID ?      解法一:巧用数组下标      我的第一想法便是...

2019-06-07 22:08:22 2496

空空如也

空空如也

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

TA关注的人

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