数据结构与算法
文章平均质量分 77
jackzhhuang
c/c++.rust,python,go,database,nosql
展开
-
从数组中返回不一样的绝对值个数
这是一道我在做线上试题时候遇到的一个问题,感觉还是不错的,可以考察程序员的抽象思考能力。题目是这样的:一个有序数组,从小到大排列,要求写一个函数返回绝对值不一样的个数。比如:数组是:1, 3, 5, 7, 9。那么返回值是5,因为不一样的绝对值分别是:1,3,5,7,9;数组是:1, 3, 3, 5, 7, 8, 8, 9。那么返回值是6,因为不一样的绝对值分别是:1,3,5,7,原创 2013-04-26 14:49:16 · 1240 阅读 · 0 评论 -
找到丢失的数字
这也是我在网上看到的一个亚马逊题目:一个数组中包含了0-99,但顺序被打乱,而且其中之一个数变成了-1,请找出这个数。这道题目其实还是很简单的,只需求一次加减就可以轻易找出这个数值了。时间是O(N),空间是O(1)。但还是要继续写测试程序,如何生成一个随机的数组包含0-99呢?最简单的就是用rand()函数取模100,若有冲突,则放到下一个槽,直到有位置放为止(和哈希散列地址冲突的其中原创 2013-04-28 12:27:37 · 835 阅读 · 0 评论 -
哈希结构
是时候说说哈希结构了。记得以前被人问过哈希结构,问题是:哈希结构最差效率是发生在什么时候?这个问题其实没太多意义,一般只有大学论文喜欢研究这种问题,因为在现实工程中,除非故意或者写错代码才有可能发生最差的效率情况。这篇文章将把哈希结构(我所理解的)来个大起底,照遍哈希结构的各个角落,最后,给出自己的哈希结构类。 一步步开始吧。l 为什么要有哈希结构?大学老师最喜欢的事情就是照本宣原创 2013-07-19 03:26:07 · 1414 阅读 · 1 评论 -
获取最大利润
这是一道我在网上看到的亚马逊电话面试题目给出一组股票价格,他们已经按时间排序好,找出什么时候买入什么时候卖出的时间点,使得利润最大。抽象成算法题目应该是这样的:给定一个数组,暂且认为是整型数组,找出前后差值最大的下标。例如:若给定数组:9, 2,3, 5,1。那么返回下标应为1和3,因为5和2是前后差值最大的,9和2不行,因为9出现在2之前。这道题目和从无序数组中找出第N大原创 2013-04-27 09:28:47 · 1095 阅读 · 0 评论