文章列表
题目:http://oj.leetcode.com/problems/generate-parentheses/
Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
For example, given n = 3, a solution set is:
"((()))", "(()())", "(())()", "()(())", "()() ...
题目:http://oj.leetcode.com/problems/gas-station/
直观的想法就是枚举每个index,判断从该index开始是否能完成旅行,时间复杂度为O(n平方),代码如下:
public class Solution {
public int canCompleteCircuit(int[] gas, int[] cost) {
for(int i=0;i<gas.length;i++){
int remain=0;
int count=0;
f ...
题目:http://oj.leetcode.com/problems/candy/
这道题很多人做了很长时间,从通过率也可以看出来。我的第一想法是从前往后遍历,如果i+1的rating大于i,则i+1的candy等于i的candy+1;如果小于,则从i开始往前遍历,直到处理完所有rating大且candy小于等于的情况,然后继续这个过程。这个思路代码实现起来稍微有点麻烦,而且时间复杂度是O(n平方)。
后者仔细想了一下,其实不用这么复杂,只需从前往后扫描(处理i+1的rating大于i的情况)+从后往前扫描(i的rating大于i+1的情况) 两次遍历即可,具体代码如下:
publ ...
题目见:http://pat.zju.edu.cn/contests/pat-a-practise/1010
本题采用二分方法搜索进制,注意由于我使用的方法是转换为十进制进行比较,所以C/C++中即使使用了long long 类型也可能会溢出,为方便起见,本题采用Java的BigInteger实现;或者可以考虑自己实现一个大数类。
import java.math.BigInteger;
import java.util.Scanner;
public class Main{
private static BigInteger bs0 = new BigInteger(&qu ...
今天在学习Git的分支合并时,对merge命令的具体处理方法产生了思考:
分支主要有3种:
直接合并(straight merge):把两条分支上的历史轨迹合并,交汇到一起;
压合合并(squashed commits):将一条分支上的若干个提交条目牙 ...
最近因为项目的需要,在学习使用DVCS——Git
在windows环境下使用git管理项目,可以使用Google Code上的"Git on MSys"项目
下载地址是:http://coge.google.com/p/msysgit
一般按照默认设置进行安装即可,安装完成之后,可以使用git --version来检验安装成功与否
配置:
git提供了config工具来配置以下三份git配置文件:
/etc/gitconfig: git的系统全局配置文件,该配置文件中的配置选项对操作系统上所有使用git的用户产生影响,使用git con ...
最近开发安卓应用时,要提供一个定时关机的功能,结果使用
finish()
或者android.os.Process.killProcess(android.os.Process.myPid())
都不行,都只能关闭调用的那个activity,而我如果打开了多个activity,则无法完全退出应用。
网上找了一些资料说System.exit(0)方法同以上的两个方法一样,也达不到效果。
相关资料:
http://maxuefeng.blog.51cto.com/1876326/528561
http://www.360doc.com/content/11/0610/17/1286 ...
vim ~/.android/androidtool.cfg
Add the line below:
sdkman.force.http=true
(转)http://apps.hi.baidu.com/share/detail/34131013
px:是屏幕的像素点
in:英寸
mm:毫米
pt:磅,1/72 英寸
dp:一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1px
dip:等同于dp
sp:同dp相似,但还会根据用户的字体大小偏 ...
(转) http://www.52rd.com/Blog/Detail_RD.Blog_zsqt8888_25232.html
继VGA后,逐渐诞生出QVGA、WVGA、HVGA分辨率产品,这分辨率都手机参数里随处可见,下面是VGA、QVGA、WVGA、HVGA分名词解释及区别。
VGA
即“Video Graphics
Array”。是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的
应用。VGA最早指的是显示器640X480。VGA的英文全称是Vide ...
栈与堆都是Java用来在RAM中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 Java 的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。 栈的优势是,存取速度比堆要快,仅次于寄存 ...