算法与面试
文章平均质量分 71
mmscan
Best practicing?
展开
-
Majority Element II leetcode 229
题目大意:找到个数大于总数三分之一的主元素,O(n)时间复杂度,O(1)空间复杂度。原创 2015-09-30 16:53:40 · 423 阅读 · 0 评论 -
leetcode 284 Peeking Iterator
题目大意: 继承一个Iterator类,实现对下一个int元素的预览功能,想办法保持迭代器的位置。C++中peek()函数: istream::peek()// Below is the interface for Iterator, which is already defined for you.// **DO NOT** modify the interface for Iterator....原创 2015-09-22 13:15:44 · 782 阅读 · 0 评论 -
Letter Case Permutation leetcode 784
题目大意:字符串中每一个字母(A-Za-z)的大小写不同视为不同的字母大小写排列,给定一个字符串,返回所有的排列。题目分析:字符串中如果有 n 个字母,返回的结果就会有 2^n 种。可以使用迭代或递归来遍历 2^n 种情况,但是代码会多一些。看过了discussion 后,发现了 2 行 的 python 写法,利用 product 函数来将结果积起来。下面给出一种 Ruby 的写法,只需要一行。...原创 2018-02-19 17:14:20 · 583 阅读 · 0 评论 -
K-diff Pairs in an Array leetcode 532
原来统计数组也很简单,只是要多多实践。原创 2017-03-07 08:22:28 · 587 阅读 · 0 评论 -
Range Sum Query - Immutable leetcode 303
题目大意:根据下标,求数组内区间的部分和。重新弄了个临时数组m,来存储从0到k的和,这样总和减去前一部分的和就可以快速得到答案了。原创 2015-11-12 03:02:51 · 872 阅读 · 0 评论 -
leetcode 501 Find Mode in Binary Search Tree
第一次使用ruby来解决据结构相关的题目。原创 2017-02-06 03:27:15 · 891 阅读 · 0 评论 -
Counting Bits leetcode 338
题目大意:计算数字的二进制中'1'的个数。计算'1'的个数是常见的题目了,x&x-1把最右边的1变成0 , y | y+1把最右边的0变成1。原创 2016-04-15 00:24:02 · 496 阅读 · 0 评论 -
Flatten Nested List Iterator leetcode 341
题目大意: 解嵌套,将一个数据可嵌套的类的整型值序列化。思路:遍历一棵多叉树,如果是叶子节点就把结果加在list中,如果不是,就继续遍历子节点。原创 2016-04-16 16:19:16 · 1660 阅读 · 0 评论 -
Power of Four leetcode 342
题目大意:不用循环和递归,确定一个有符号整形是否是4的幂。分析:用位运算来算。原创 2016-04-22 02:02:36 · 890 阅读 · 0 评论 -
Odd Even Linked List leetcode 328
提莫大意:找出第偶数个结点,将他们挑出来,加入到奇数序号结点序列的后面。原创 2016-01-16 23:44:43 · 540 阅读 · 0 评论 -
Bulls and Cows leetcode 299
题目大意:统计位置正确的个数,和统计出现次数正确的个数。原创 2015-11-01 02:03:31 · 991 阅读 · 0 评论 -
Game of Life leetcode 289
题目大意:活细胞:2个或3个活的邻域则存活,否则死掉。死细胞:3个活的邻域,则变为活细胞。原创 2015-10-14 22:12:41 · 1058 阅读 · 0 评论 -
Find Median from Data Stream leetcode 295
题目大意:数据流中不断加入新的整型元素,求已有数据的中位数。原创 2015-10-20 00:13:49 · 648 阅读 · 0 评论 -
Nim Game leetcode 292
题目大意:博弈论取石子的经典问题,每次最多取1到m个石子。在初始状态一定的情况下,博弈的结果不是必胜就是必败,所以必败的状态就是剩余4个石子的情况,同样4的倍数都是必败的。关键要推导出必胜或必败的公式。原创 2015-10-13 03:56:02 · 1460 阅读 · 1 评论 -
Find the Duplicate Number leetcode 287
题目大意:找到数组中唯一的一个重复的数值。时间复杂度要小于O(n^2),不能修改数组了。发现一个很6的算法,把数组当成一个静态链表,也就是说nums[],数组相当于next[],0为起始节点,节点地址范围就是0-n,一共n+1个节点。因为数组范围是1-n,所以没有节点next会指向0。原创 2015-09-29 11:54:16 · 590 阅读 · 0 评论 -
Champagne Tower - leetcode 799
题目大意:金字塔形的杯子排列,由最上面的杯子开始灌水,水在灌满杯子后,溢出的水会均匀流到脚下的两个杯子中。给定灌水量和由i,j 确定的杯子的位置,求这个杯子的灌水量。题目分析:给定了杯子的坐标,只要由上到下依次求出和这个杯子有关的杯子的灌水量即可,放在边缘的杯子只有一个水源,而放在里面的杯子有两个水源。AC code:(Ruby)def champagne_tower(poured, query_...原创 2018-03-16 06:20:40 · 883 阅读 · 0 评论