【面试】编程题
mengaliu_123
这个作者很懒,什么都没留下…
展开
-
【编程题】股票涨价的问题
问题:股票变化的规律为第一天不变,然后涨一天,跌一天,涨两天,跌一天,涨三天,跌一天…,第一天股票价格为1,每次变化均为1,问第n天时,股票价格为多少思路:通过天数来判断,第n天时经过了完整的涨跌周期(一段连续的涨和一次跌,被化为一个涨跌周期)步骤:设置变量k和变量j k : 经历了多少次完整的涨跌周期,初始化为0 j: 除了第k原创 2016-08-14 17:56:46 · 1791 阅读 · 0 评论 -
【编程题】快速排序
前言快速排序是面试题最常到考到的排序算法,以前在课本中学到过,后来看《算法导论》的时候也学到过。印象中,两者大体思想一样,在一些小细节上还有一些不同,这篇文章会总结一下。不过很久不写了,直接拿起来写,写了很久。。。。还被嘲笑了。。。。。1.思想快速排序主要是利用分治的思想,将问题分为较小的问题,然后分别求解。首先,选取数组中的一个数作为flag,利用这个数将数组进行分割,小于flag的数放在flag原创 2016-08-17 17:33:10 · 801 阅读 · 0 评论 -
【leetcode】dungeon Game
前言: 这一题是我最近几天做leetcode以来,用时最久的一题,说一下我的思想误区吧。【误区算法】 最开始的时候,拿到题目的感觉就是应该用动态规划,但是我错误的从出发点开始考虑,这样求得了每个点最多的生命值。后来发现与题目要求不符。于是重新开始考虑,但是思维还是固化在从头开始考虑。重新考虑题目要求,发现问题可以等同于求所有路径中能力值极低点的最大值,然后将这个值取绝对值加一就是题目想要的答案。原创 2016-09-08 11:40:00 · 359 阅读 · 0 评论 -
【leetcode】Insert Interval
前言:这一题的难度为hard,题目描述比较简单,思想也不复杂,陷阱就在于很多情况都要考虑,细节问题要多注意。除了题目中给出的两种情况,下面是我出错的测试用例第一类测试用例: 原数组:[[3,5],[12,15]] 插入:[6,6] 期望结果:[[3,5],[6,6],[12,15]]第二类测试用例: 原数组:[[0,5],[9,12]],插入:[7, 16] 期望结果:[[0,5],[7,原创 2016-09-05 11:17:00 · 186 阅读 · 0 评论