无序数组,分割成为两个子数组,使得子数组之间的和最接近 问题转换为从2n个数中找出n个,使得他们的和最接近总体和的1/2 利用dp记录在前t个数中随机取i个的所有的可能的和即可,然后遍历,这样会出现指数级别 可以利用遍历…
分类:编程之美
《编程之美》学习笔记之——算法设计中的逆向思维
两个例子:例一:找符合条件的整数题目概述:给定正整数N,求最小的正整数M,使N*M十进制表示中只有0和1.著者给出多种解法。解法一在正整数范围内穷举M。解法二改进了解法一,在十进制表示中只有0和1的正整数范围内穷举N*M…
编程之美1.8:小飞的电梯调度算法
问题:由于楼层并不高,在繁忙时段,每次电梯从一层往上走时,我们只允许停到其中某一层。所有乘客再从这层去往自己的目的楼层。 电梯停在哪一层,能够保证乘客爬楼梯之和最少? import java.util.Scanner; …
编程之美之24点
现在再看《编程之美》,昨天看到一个24点的问题:给玩家4张牌,每张面值在1~13之间,允许其中有数值相同的牌,采用加减乘除的方法,允许中间有小数,并且可以使用括号,但每张牌只能使用一次,试着构造一个多项式,使其运算结果为…
[编程之美-04]字符串的全排列
[版权说明] 编程之美系列算法题集参考: 左程云 著《程序员代码面试指南IT名企算法与数据结构题目最优解》 July 著《编程之法面试和算法心得》 何海涛 著《剑指offer》 微软编程之美小组 著《编程之美》 部分题目…
编程之美-字符串移位包含的问题
第三章 3.1 字符串移位包含的问题 问题详细描述: 给定两个字符串s1和s2,要求判断s2是否能够被s1做循环移位得到的字符串包含。 输入输出示例: 给定s1=”AABCD”和s2=”CDAA”,返回true;…
做题的乐趣——《编程之美》
读中学的时候,经常跟几个好友一起以研究一些怪异有难度的物理或数学题为乐。常常能将其它的事情都抛在一边,埋头于这些在旁人看来没有多大意义的题目中。脑子中一旦冒出了新的idea,总是会着急地与朋友讨论,唾沫横飞,书笔交错。而…
shell编程之——cat /dev/null作用
在学习shell编程的过程中,都会看到这条命令: cat /dev/null > messages 相信初学者很多都很困惑这是什么意思,为什么要这么用,现解释如下,虽然很基础,但是任何高手都是从最基础的东西开始慢慢…
[编程之美]字符串的相似度
许多程序会大量使用字符串。对于不同的字符串,我们希望能够有办法判断其相似程序。我们定义一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为: 1.修改一个字符(如把“a”替换为“b”); 2.增加一个字符…
读书笔记-编程之美-1.5快速找出故障机器
题目描述:一堆机器的存储内容都有两个备份,其中有一个缺失了备份,求查找出这个缺失的备份机器,如果有两个丢失了怎么找?(假定两个不是同一个备份的两个) 解法:跟传统的题的解法一样,由浅入深的解题思路,此处提供四种方法。 &…
编程之美学习笔记:Windows下CPU占用率呈正弦曲线实现
// TestCPU.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "windows…
编程之美 - 抓石头游戏(3)
游戏规则: 有两堆石头,玩家A 和 B,两个人可以从一堆石头中取任意数目的石头或从两堆石头中取相同数量的石头。 最后取得所有石头的人胜。 书中的分析: 从最简单的情况入手 只有一块石头 == &g…