- 浏览: 190754 次
- 性别:
- 来自: 苏州
最新评论
-
wanglijunjsj:
谢谢,很有用
java log4j的一些总结 -
lxb_champagne:
this.init(); 类都没初始化好,this没用的。
java final变量的初始化问题 -
lg_asus:
上面代码有点小问题,最新代码:
public class Pr ...
判断素数 -
lg_asus:
测试10 million的以内的数据,算出所有素数时间在500 ...
判断素数 -
lg_asus:
文章中说错了:如果只是找一个数在不在其中,则可以直接遍历一次, ...
40亿不重复的正整数,如何判断一个数是否在其中
文章列表
用Mybatis generator可以自动生成table对应的javaBean和xml,mapper接口。由于表的结构会发生变化,而业务中生成的mapper并不能完全满足需求,因此要自己写sql xml, 不能写在mybatis 生成的文件中,不然下次就会被覆盖了。
解决办法:
1:建自己的Mapper.java接口,目录和mybatis生成的mapper.java相同。先不定义方法
2:见一个自己的mapper xml,和mybatis生成的mapper xml放在一个目录即可。 namespace写自己Mapper.java的全类名,然后写<select>,这里引用mybat ...
//万能模态弹出框。标题,显示的元素id,一般放在<script>里不占用DOM,参考kendo ui template,btns是按钮数组,callbacks按钮注册的click回调。
//<script type="text/template" id="id"><div class="row"></div></script> script的type不为text/javascript即可,这样浏览器不会解析,且通过$("#id")是能取到的,但是取出 ...
php+apache
- 博客分类:
- php
1:安装php,apache,VC redistribute,注意版本对应
2:修改apache/conf/httpd.conf
ServerRoot
LoadModule php5_module "c:/php/php5apache2_2.dll"(只有thread-safe的php才有这个dll,不要下载not-thread-safe)
AddType application/x-httpd-php .php
Refer: http://stackoverflow.com/questions/5121495/php-code-is-not-being- ...
/**
* 全排列,没有重复元素
* @author gche
* 思想:如求abc的全排列,可先求bc的全排列,bc,cb,然后分别和a进行组合成结果:abc,bac,bca,acb,cab,cba
*/
public class Arrange {
@Test
public void test(){
String data = "abc";
List<String> ret = this.arrange(data);
System.out.println(ret.size() == size(data.l ...
public boolean contentEquals(CharSequence cs) {
if (value.length != cs.length())
return false;
// Argument is a StringBuffer, StringBuilder
if (cs instanceof AbstractStringBuilder) {
char v1[] = value;
char v2[] = ((AbstractStringBui ...
1:不用API,计算power(m, n)要求复杂度在logn
解:n个数相乘,复杂度是n,而logn是典型的折半思维,因此要想办法使每次计算次数减半,在while循环内,求n/2个m^2的和->求n/2/2个m^2^2的和->...
pseudo code:
long result = 1L;
while(n!=1){
if(n & 1 == 1){
result *= m;
}
m=m*m;
n=n/2;
}
这个题还可以通过递归.
2:a[m][n], 其中a[m][n+1] > a[n][n], a[m+1][n] > ...
javascript中数字运算方法
- 博客分类:
- js
对小数的运算很多时候由于精度问题导致结果不是我们想要的,当然还有各个browser的差异性.
function paddingRight(val, length, char){
val = String(val || "");
if(val.length >= length){
return val.substr(0, length);
}
return val + new Array(length - val.length + 1).join(char);
}
/**
*精度
*/
function toFixed(precision){
var v ...
jquery post json data to spring contoller
please refer:
http://stackoverflow.com/questions/15532323/spring-3-2-jackson2-400-bad-request
http://ahlearns.wordpress.com/2011/07/29/spring-3-mvc-requestbody-deserialization-of-custom-list-objects/
1:首先要配置jacksonMessageConverter。
2:ajax要设置contentType ...
两个桶,容积M、N,M和N互质,那么可以通过这两个桶得到任何{X|x属于N*,且M<X<N}体积的水。
如M=3,N=10,则4,5,6,7,8.9体积的水都能通过这两个桶得到。
证明:
这里用到一个定理:不定等式aX+bY=1当XY互质时,一定有解。
网上的证明如下:http://zhidao.baidu.com/link?url=ha07uKDOcQa3TP6CUy2zBGSNzlJtp8QMguL4U4QXPuD_vZbT_aS1OKA19eq9Rd06Bjf3KI2yr98reXCuIC7imq
正整数最小为1,因为a,b为正整数,所以a+b>=2,因此x和y不能同 ...
求N个数据的最大公约数和最小公倍数
- 博客分类:
- 数据结构+算法
gcd: greatest common divisor 最大公约数
lcm: least common multiplier 最小公倍数
如果是N=2的话,
求gcd:
loop:
if a > b:
temp = a % b
if temp == 0:
gcd = b
a = b
b = temp
else:
...
求lcm的话就是 a * b / gcd
当 N > 2时,需要递归,先求前2个数的gcd & lcm,然后把它和第3个再进行求,第4个...
数学分析,首先找出各个数的全部因子,gcd就是取这些 ...
不用中间变量交换a b的值及完数
- 博客分类:
- 数据结构+算法
一:不用中间变量交换a b值。
分析:
a=a+b; #将a b的和赋值给a
b=a-b; #a的值已经发生变化,并且保存了和值,因此这里要只能对b进行求值,不能改变a的值。
a=a-b; #同理求得a值。
另一种解法:
a=a^b
b=a^b
a=a^b
^ 异域: a^b === a & ~b
完数:
一个数的所有因子(不包括自身)相加等于自身,则该数就是完数。如6的因子是1 2 3, multiply(1,2,3) == sum(1,2,3)
/**
* 取得所有因子(不包括1和自身)
* @param num
* @return
*/
pr ...
用小白鼠试验毒水问题
- 博客分类:
- 数据结构+算法
问题一:8瓶水,其中一瓶有毒,问要找出有毒的水,你至少要尝试几次?(前提是毒不死人的)
问题二:还是这个题目,另外提供一群小白鼠,现在要你同时给N只小白鼠喝水,问至少需要几只小白鼠能一次性找出毒水?
问题一比较简单,二分法,假设瓶子编号依次为0 1 2 3 4 5 6 7,先等分成2份,然后从其中一份中取出点水混合下,喝,有问题则毒水在这份中,没问题则毒水在另一份中,然后再二分,这样只需要尝试3次, 2^3=8。
问题二:至少需要3只小白鼠,二进制思想2^3=8,小白鼠喝完水的状态只有2种,要么生要么死,因此要判断8瓶水,必须要有3只白鼠才可以。
A B C
0 0 0
0 0 1
0 1 ...
给定hello则它的全排列共有 5*4*3*2*1/ (2*1)=60种。
思想(先不考虑去重复):
首先取第一个字符如h,然后计算剩下4个字符ello的全排列,然后再将h和这些全排列相加就OK了,然后再取第二个... 第三个...,典型的循环+递归思想。
如果要去重,可以考虑先将整个字符串排序,hello -> ehllo,在循环的时候,首先判断当前字符和前一个字符是否相同,如果相同则说明这个字符已经处理,跳过即可。
java code:
@Test
public void run()
{
String str = "hello";
cha ...
题目和解答思路均来自网络, thank the internet.
---------------割---------------------------------
给定一个字符串, a = new int[N];,要求将前K个字符移到a的后K个位置,如:123456,左旋转2位变成345612,要求时间复杂度是O(N),辅助空间是O(1)。
这题最简单的做法是:
先开一个K长度的临时空间b,用于存储a的前K个字符,然后对a遍历,从第K个位置起将a中的字符前移K位,最后将b中的字符填充到a的后K个位置。
这种解法时间复杂度是O(n)但空间复杂度是O(k)。
另一种奇葩解决,是定义一个翻转函 ...
题目:
0 1 2 3 4 5 6 7 8 9
_ _ _ _ _ _ _ _ _ _
要求在横线上填入数字,使得每个数字分别是上面对应数字在下面出现的次数
分析: 设下面数字分别为 n0 n1 n2 n3...n9,表示对应数字出现的次数
则
n0 + n1 + n2+...+n9 = 10 A式 (次数和==横线的个数)
1*n1 + 2*n2 + 3*n3+...+9*n9 = 10 B式
由B式知:0<=n5~n9<=1,且n5+n6+n7+n8+n9==1,如果n5=n6=n7=n8=n9=0,则n0下面的数字>=5,说明n(>=5)有一个为1,与假 ...