leetcode:Pow(x, n) + N-Quee…

来源:互联网 发布:阿里云备案网站名称 编辑:程序博客网 时间:2024/06/01 08:46
Pow(x, n):
就是实现指数函数。其实自己已经想到边了,类似于pow(n/2)*pow(n/2),但一直在纠结这样其实也要算两次。其实只要换个角度,pow(x,n)=pow(x*x,n/2)即可。
另外,要注意java和c++的差别,-2147483648(int型最大负数)这个数转为正数,在c++会溢出,java可能因为有自动处理机制,所以会正常转换。人生第一次抄答案(java版)还WA了的经历。。。

N-Queens:
在leetcode上再解了一次八皇后的问题,这个主要还是深搜,我剪枝策略只是简单的查找,当前位置是否与之前放下的皇后冲突,用的是3个for循环(纵向、右上、左上),但大神都是用数组表示,把纵向表示为n个,右上左上2n-1的数组,每个元素代表当前列是否被占用,相比for循环的线性时间,这个缩短为常数时间了

Sqrt(x):
求x的开方值,输出整数。这个就是普通的二分法,只是需要注意不能写mid*mid