- 浏览: 10116 次
- 性别:
- 来自: 西安
最新评论
-
java_林:
chenjiankun18 写道不用二分法吗总共两个玻璃球,碎 ...
扔玻璃球的问题 -
chenjiankun18:
不用二分法吗
扔玻璃球的问题
文章列表
Catalan数 总结的很全 http://daybreakcx.is-programmer.com/posts/17315.html
c++虚函数表 http://blog.csdn.net/haoel/article/details/1948051
http://blog.csdn.net/haoel/article/details/3081328
http://blog.csdn.net/haoel/article/details/3081385
排序图形化显示,高级货哦 http://coolshell.cn/articles/3933.html
Singleton设计模式 http://coolshell.cn/ ...
Java是如何在运行时识别对象和类的信息的?
一般讲是两种:
1. “传统的”RTTI,他假定我们在编译时已经知道所有的类型。
2. 反射,并允许在运行时发现和使用类的信息。
反射可以拿到任何类的信息,包括内部类和 ...
别人写的,找不到作者了,只是总结得很好,拿来记录一下。
主要介绍了以下几种背包问题:
第一类 01背包问题
第二类 完全背包问题
第三类 多重背包问题
第四类 混合三种背包问题
第五类 二维费用的背包问题
第六类 分组的背包问题
第一类:01背包问题
题目:
有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。
基本思路:
这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。
用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大 ...
记得有一道常见的面试题是问:有两个完全一样的玻璃球,从某一高度摔下会碎,问100层高的楼最多扔几次可以测出来在那一层扔时玻璃球恰好碎。
为了能测出来在那一层碎,如果第一个球碎了的话第二个球就要从已测未碎的最高的一层开始,一层一层的向上仍,所以问题就是第一次应该扔在第几层,如果没有碎,那么下一次要和上一次隔多少层。隔一样多层肯定不对,因为如果第一个碎了,那么第二个最差情况就要仍和在上一步碎一样多的次数,而他已经比上一次最差情况多仍一次了。所以应该是每一次间隔减一,来弥补第一个球多仍的次数。最后求出来就是最多扔14次即可。
这个问题看上去还是比较简单的,往后一想,如果是三个球或者是k个球呢 ...
先是一个递归的排列,顺便复习以下bitset的用法
//递归,保存当前状态的
#include <bitset>
#include <stdio.h>
using namespace std;
const int NUM = 6;
bitset<NUM> flag;
char data[NUM];
int order[NUM];
void printPermut(int no);
int main()
{
for(int i=0 ; i<NUM ; i++ )
{
data[i] = char('a' ...
转载
正如牛顿三大定律在经典力学中的位置一样,“开-闭”原则(Open-Closed Principle)是面向对象的可复用设计(Object Oriented Design或OOD)的基石。其他设计原则(里氏代换原则、依赖倒转原则、合成/聚合复用原则、迪米特法则、接口隔离原则)是实现“开-闭”原则的手段和工具。
一、“开-闭”原则(Open-Closed Principle,OCP)
1.1“开-闭”原则的定义及优点
1)定义:一个软件实体应当对扩展开放,对修改关闭( Software entities should be open for extens ...
ASM是一个十分灵活高效的java字节码生成工具,他可以帮助我们动态的生成所需的字节码文件,也可以修改已存在的字节码使其满足我们新的需要,是一个功能强大的AOP工具。 ASM官网地址http://asm.ow2.org/,附件提供了官方guide很详细,以及ASM的api。 ASM本身功能强大灵活,为此付出的代价就是其功能函数粒度很细,写ASM代码有一种写汇编代码的感觉,不过开发者为此已经想好了解决办法,ASMifierClassVisitor类提供了:生成一个给定class文件的ASM代码的功能。
下面的代码就是利用ASM3.2中的ASMifierClassVisitor类生成 能够产 ...