- 浏览: 19849 次
- 性别:
- 来自: 成都
最新评论
-
s1099:
haithink 写道感觉运行那有点问题。
要先切换到.jav ...
Gvim/Vim配置文件(for Java) -
haithink:
感觉运行那有点问题。要先切换到.java文件所在目录再执行ja ...
Gvim/Vim配置文件(for Java)
文章列表
使用final关键字真的能提高性能吗?
首先这里有一篇文章:
http://www.javamex.com/tutorials/java_final_performance.shtml
在这篇文章中,作者Neil Coffey说到了下面一些内容:
But to the best of my knowledge, there are no class/method optimisations in Hotspot based on whether or not a class or method is final. In a discussion with me ...
下面是我配置的vim文件(2012-3-21):
set nocompatible "不要使用vi的键盘模式,而是vim自己的
source $VIMRUNTIME/mswin.vim
behave mswin "兼容windows下的快捷键
"""""""""""""""& ...
作者是 Mark Reinhold,他是Oracle的Java平台首席架构师。这是他在博客上发表的,英文原文在http://mreinhold.org/blog/late-for-the-train。
Jigsaw项目的目的是为Java SE平台设计和实现一个标准的模块化系统,并且将这个系统应用到平台自身和JDK。
当前是将Jigsaw计划在Java 8中。Java 8的开发计划(proposed development schedule)期望主要特性的工作能够在2013年5月完成,为9月的最终发布做准备。项目在稳定的进行着,但是仍旧存在一些 ...
不同计年方法之间的转化,我的思路是:根据各自计年方法的定义,将一种计年方法换算成总天数,再将总天数转化为令一种计年方法。
import java.util.*;
import java.io.*;
//1008 Maya Calendar
public class Main
{
static final String[] Haab = {"pop", "no", "zip", "zotz", "tzec", "xul",
"y ...
1007 DNA Sorting
- 博客分类:
- poj
题目的意思很明显,就是算出每个字符串的逆序数,然后按照它们的逆序数排序,最后输出。因此这里的主要操作可以分两步:
①计算逆序数
注意到这里出现的字符只有4种(ACGT),因此可以将字符串扫描一遍就可以计算出逆序数。方法是,对字符串进行正向扫描,记录扫描时C、G、T出现的次数,如果当前扫描的字符是A,则逆序数要依次加上C、G、T的个数;如果是C,则逆序数加上G、T的个数;如果是G,则逆序数加上T的个数。
②将字符串按照逆序数进行排序
这里要求当逆序数相同时,按照出现顺序排序,即排序结果要稳定。所以如果要使用快速排序的化 ...
1006 Biorhythms
- 博客分类:
- poj
对于这种循环的问题,使用模运算很容易解决。因此,我们可以将题目抽象成以下描述:对于每组p,e,i,d,设x是所求的天数,令y=x-d,则
y % 23 = p;
y % 28 = e;
y % 33 = i;
根据以上3个模方程,解出y,进而即可求出x。
对于方程组,我们可以使用枚举法来求出y。但是这里有更好的方法,应用中国剩余定理可以直接求解y。
①.找出在28和33的最小公倍数28*33的倍数中对23取模结果为1的数:最小的是5544
...
这个题目的意思是:以原点为圆心的半圆,每单位时间面积扩大50(初始半圆面积为0),现在给定点(x,y),计算多少单位时间后此点位于圆内(圆上)。计算公式就是:
代码就很简单了:
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
Scanner in = new Scanner(System.in);
in ...
求平均数
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
float sum = 0;
for(int i = 0; i < 12; i++)
sum += in.nextFloat();
System.out.printf("$%.2f\n", sum/12);
}
}
这个题目本身没什么好说的,很简单,只是要注意的是浮点数在机器中的表示是不精确的。
那么下面就是AC的代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
float sum, num;
while((num=in.nextFloat()) > 1.0/128) {
sum = 0;
int i;
for(i = 2; sum < num; i++ ...
import java.io.*;
import java.util.*;
public class Main {
static final int[] map = {
2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,0,7,7,8,8,8,9,9,9,0
};
public static void main(String[] args) throws Exception {
BufferedInputStream in = new BufferedInputS ...
import java.util.*;
import java.math.*;
public class Main {
public static void main(String[] args) throws Exception {
Scanner cin = new Scanner(System.in);
while(cin.hasNext()) {
BigDecimal num = cin.nextBigDecimal().pow(cin.nextInt());
String str = num.stripTrailingZeros().to ...