【编程之美】
小田
无人扶我青云志,我自踏雪向山巅。倘若命中无此运,孤身亦可登昆仑。他朝若有翻身时,生吃黄莲也叫甜。
展开
-
【编程之美】区间重合判断(线段树)
一,问题: 1. 给定一个源区间[x,y]和N个无序的目标区间[x1,y1] [x2,y2] ... [xn,yn],判断源区间[x,y]是不是在目标区间内。 2. 给定一个窗口区域和系统界面上的N个窗口,判断这个窗口区域是否被已有的窗口覆盖。二,解法: 问题一: 先用区间的左边界值对目标区间进行排序原创 2012-08-04 10:26:53 · 8107 阅读 · 6 评论 -
【编程之美】数组分割问题
一,问题: 1. 有一个无序、元素个数为2n的正整数数组,要求:如何能把这个数组分割为两个子数组,子数组的元素个数不限,并使两个子数组之和最接近。 2. 有一个无序、元素个数为2n的正整数数组,要求:如何能把这个数组分割为元素个数为n的两个数组,并使两个子数组之和最接近。二,分析: 假设数组A[1..2N]所有元素的和是SUM。模仿动态规划解0-原创 2012-08-03 22:25:26 · 3889 阅读 · 1 评论 -
【编程之美】高效率的安排见面会
一,题目在校园招聘的季节里,为了能让学生们更好地了解微软亚洲研究院各研究组的情况,HR部门计划为每一个研究组举办一次见面会,让各 个研究组的员工能跟学生相互了解和交流。已知有n位学生,他们分别对m个研究组中的若干个感兴趣。为了满足所有学生的要求,HR希望每 个学生都能参加自己感兴趣的所有见面会。如果每个见面会的时间为t,那么,如何安排才能够使得所有见面会的总时间最短? 最简单的办法,就是把原创 2012-06-26 11:08:06 · 2543 阅读 · 0 评论 -
【编程之美】24点游戏
一,概述 二十四点是一种益智游戏,它能在游戏中锻炼人们的心算,它往往要求人们将四个数字进行加减乘除(允许使用括号)求得二十四。然后将四个数字的计算公式表示出来。二,中缀表达式求解 最直接的方法就是采用穷举法,游戏中可用的运算符只有四种,四个数字每个只能使用一次。 1)不考虑括号情况 4个数全排列原创 2012-07-04 10:49:07 · 5577 阅读 · 3 评论 -
【编程之美】双线程高效下载
一,题目 网络上下载数据,然后存储到硬盘上。简单做法是:先下载一块然后写到硬盘,然后再下载,再写到硬盘上。 缺点:需要先下载完才能写入硬盘,下载和写是串行操作。 改进:让两个线程并行进行,设置缓冲区,采用信号量的形式。 下载线程,只要缓冲区有空余就下载,下载完成之后告诉写线程缓冲区有数据了。原创 2012-07-04 11:04:45 · 2591 阅读 · 3 评论 -
【编程之美】买书问题 - 动态规划
一,问题 上柜的《哈利波特》平装本系列,一共有五卷。假设每一卷单独销售均需8欧元。如果读者一次购买不同的两卷,就可以扣除5%的费用,三卷则更多。假设具体折扣的情况如下: 本数 2 折扣 5% 本数 3 折扣 10% 本数 4 折扣 20% 本数原创 2012-06-14 16:35:42 · 5337 阅读 · 13 评论 -
【编程之美】一摞烙饼的排序
一,问题: 星期五的晚上,一帮同事在希格玛大厦附近的“硬盘酒吧”多喝了几杯。程序员多喝了几杯之后谈什么呢?自然是算法问题。有个同事说:“我以前在餐馆打工,顾客经常点非常多的烙饼。店里的饼大小不一,我习惯在到达顾客饭桌前,把一摞饼按照大小次序摆好——小的在上面,大的在下面。由于我一只手托着盘子,只好用另一只手,一次抓住最上面的几块饼,把它们上下颠倒个个原创 2012-06-13 15:52:30 · 5075 阅读 · 3 评论