
Algorithm
hqw11
这个作者很懒,什么都没留下…
展开
-
求数列中唯一的数--singleNumber
很久没有写关于算法题的了。这里写一下一个非常简单但又很经典的算法题。主要过程是利用bit和数位运算去求数列中的唯一的数。题目一:一个数列中,有一个数只出现了一次,其它数全都出现了两次,求这个数。要求一次遍历,常量extra空间。题目二:一个数列中,有一个数出现了一次或两次,其它数全都出现了三次,求这个数。要求一次遍历,常量extra空间。题目一比较简单,如果一个bit出现两次就归0,...原创 2019-04-06 14:21:31 · 452 阅读 · 0 评论 -
回文求最小分割数-回文求所有有效分割
回文相关的题目算是算法基础中的基础了。发现工作后如果不是算法岗,算法能力和算法敏感度真的是会下降,平时mark一些经典算法题有利于保持状态。题目一:求sentence中的最小分割数,使得分割后所有字符串都是回文。Given a string s, partition s such that every substring of the partition is a palindrome....原创 2019-04-08 00:05:28 · 341 阅读 · 0 评论 -
convert-sorted-list-to-binary-search-tree
题目描述:Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.简单的递归实现,dfs递归+快慢指针不同场景中快慢指针方法具体细节可能不同,例如这里:1->2->3,返回的是2,1->2,返回的是2。另外场景...原创 2019-04-09 14:46:05 · 135 阅读 · 0 评论 -
堆排序&快排的Java实现
堆排序的Java实现以从小到大排序为例,堆排主要包括两个过程:1、构建最大堆(以数组为堆的数据结构)2、替换当前堆顶元素和堆尾元素,忽略已经有序的堆尾,重新调整堆,不断重复(其实还是不断get&&remove堆顶最大或最小值放在有序队列中的过程)堆排还是比较简单的,过程可以参考 堆排序算法直接上Java实现代码:public class HeapSort { ...原创 2019-07-29 15:16:24 · 317 阅读 · 0 评论 -
MaxArea-最大矩阵
MaxArea-最大矩阵几道最大区域(矩形)相关的题。题目一:container-with-most-waterGiven n non-negative integers a1 , a2 , …, an , where each represents a point at coordinate (i, ai ). n vertical lines are drawn such that ...原创 2019-08-04 14:31:10 · 1102 阅读 · 0 评论 -
KMP算法-时间复杂度分析
KMP算法假设m为模式串strM的长度,n为待匹配的字符串strN的长度。KMP的基本过程求模式串strM的next数组遍历比较待匹配的字符串strN(过程=遍历strN+遍历时出现strM[j]的回跳)比较strN[i]、strM[j]时可能出现的情况为:2.1 当前字符匹配时,同时移动 i++,j++2.2 当前字符不匹配,且j=0时,只移动 i++,j=0不动2.3 当前...原创 2019-07-27 14:58:25 · 27306 阅读 · 3 评论