![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程之美
文章平均质量分 82
fangjian1204
这个作者很懒,什么都没留下…
展开
-
编程之美之子数组之和的最大值以及扩展(可首尾相连)
情形一:不允许首尾相连此情况很常见,方法是动态规划,编程之美的方法三给出了解法,这里就直接给出代码了int maxSubSum(vector& data){ int length = data.size(); assert(length >= 0); int maxSum = data[length-1],startSum = data[length-1],begin = leng原创 2014-07-23 08:34:52 · 1005 阅读 · 0 评论 -
编程之美之高效安排见面会
对于原题,书上写的很详细,即图的着色问题,这里主要看第一个扩展和leetcode上相关的问题扩展问题一:简单的说就是:有 N 个面试要同时进行, 他们的面试时间分别是 B[i], E[i]. 我们希望将这N个面试安排在若干地点, 不同的面试在同一时间不能再相同的面试点. 问至少需要多少个面试点思路:先按照开始时间排序,对每个节点赋颜色值时,在它之前开始并且有时间重叠的区域的颜色不能使用原创 2014-08-14 19:06:36 · 1383 阅读 · 0 评论 -
编程之美之电话号码对应英语单词
题目一:根据电话上字母和数字的对应关系,用一个有意义的单词来表述一个电话号码,如用computer表示26678837题目二:反过来,给定一个电话号码,是否可以用一个单词来表示呢?怎样表示最快呢?显然不是所有的电话号码都可以对应到单词上去首先来看看leetcode上一个类似的题目:Letter Combinations of a Phone Number G原创 2014-08-15 14:34:20 · 1622 阅读 · 0 评论 -
编程之美之求二叉树中节点的最大距离
题目:如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义"距离"为两节点之间边的个数。写一个程序求一棵二叉树中相距最远的两个节点之间的距离。原创 2014-08-20 18:49:00 · 1251 阅读 · 0 评论 -
编程之美之最短摘要生成
书上给出了最短摘要的描述即算法,简单来说就是:扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的range里包含所有关键字 。然后每次迭代,尝试调整pBegin和pEnd: 1.pBegin递增,直到range无法包含所有关键字 2.pEnd递增,直到range重新包含所有关键字 计算新的range,与旧的range相比,看是否缩短了原创 2014-08-15 13:59:51 · 1777 阅读 · 0 评论 -
编程之美:蚂蚁爬杆问题的扩展
《编程之美》4.7节描述了蚂蚁爬杆问题,把所有具体数字都表示成字母后变为形如如下形式的问题:有一根长为L的平行于x轴的细木杆,其左端点的x坐标为0(故右端点的x坐标为L)。刚开始时,上面有N只蚂蚁,第i(1≤i≤N)只蚂蚁的横坐标为xi(假设xi已经按照递增顺序排列),方向为di(0表示向左,1表示向右),每个蚂蚁都以速度v向前走,当任意两只蚂蚁碰头时,它们会同时调头朝相反方向走,速度不变转载 2014-08-19 14:05:18 · 1286 阅读 · 0 评论 -
编程之美之队列中取最大值操作
编程之美之队列中取最大值操作剑指offer之取栈中最小值操作原创 2014-08-20 18:21:39 · 2097 阅读 · 0 评论 -
编程之美之快速寻找多个数满足给定条件
一、寻找三个数之和等于给定值分析:方法类似与2Sum,就是先对数组进行排序,时间复杂度为O(nlogn),然后固定一个数,用两个指针进行遍历,找到三个数之和等于给定的值即可,时间复杂度为O(n^2),具体可提交于leetcode:https://oj.leetcode.com/problems/3sum/,代码如下:vector > threeSum(vector &num,int tar原创 2014-07-15 14:14:34 · 1499 阅读 · 0 评论 -
编程之美之寻找最大的k个数
这个题目很常见,方法也很多,这里总结了编程之美给出的几个比较好的方法,也算是对这个问题的一个总结。方法一、partition算法,每次partition的复杂度为O(n),总的平均时间复杂度为O(nlogn)分析:运用partition算法,如果返回的provit > k-1,则说明要找的数都在前面,把end= provit-1;如果provit int partition(vecto原创 2014-07-15 16:44:08 · 865 阅读 · 0 评论 -
编程之美之饮料供货
在微软亚洲研究院上班,大家早上来的第一件事是干啥呢?查看邮件?No,是去水房拿饮料:酸奶,豆浆,绿茶、王老吉、咖啡、可口可乐……(当然,还是有很多同事把拿饮料当做第二件事)。管理水房的阿姨们每天都会准备很多的饮料给大家,为了提高服务质量,她们会统计大家对每种饮料的满意度。一段时间后,阿姨们已经有了大批的数据。某天早上,当实习生小飞第一个冲进水房并一次拿了五瓶酸奶、四瓶王老吉、三瓶鲜橙多时,阿姨原创 2014-07-11 11:39:04 · 1371 阅读 · 1 评论 -
编程之美leetcode之编辑距离
Edit Distance Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)You have the following 3 operati原创 2014-08-18 19:17:18 · 1432 阅读 · 0 评论