p*****2 发帖数: 21240 | 1 Scala性能还是不行呀。同样的算法Scala就是过不去,搞不清咋回事。 |
r******3 发帖数: 221 | |
a******3 发帖数: 113 | |
p*****2 发帖数: 21240 | 4
OJ不支持呀。
【在 r******3 的大作中提到】 : :-),用assembly吧。
|
h***i 发帖数: 1970 | 5 贴code。scala不慢
【在 p*****2 的大作中提到】 : : OJ不支持呀。
|
d********g 发帖数: 10550 | 6 等Scala再发展几年应该还行
【在 p*****2 的大作中提到】 : Scala性能还是不行呀。同样的算法Scala就是过不去,搞不清咋回事。
|
r******3 发帖数: 221 | 7 FP style的scala会比Java慢,但是差距不会有Java与Python/Ruby的差距大,一般2~3
倍的差距吧,我记得我之前看过一个网站做的benchmark。
但是scala真心不是用来做算法题的,scala中很多的features Java没有,计划中的1.8
会加一些功能进去,但是谁知道Java 1.8哪天会realse,所以很多公司开始慢慢用
scala。
但是scala不好学,而且IDE支持很差。
【在 h***i 的大作中提到】 : 贴code。scala不慢
|
l*******b 发帖数: 2586 | |
h***i 发帖数: 1970 | 9 是,scala不注意的话的确会慢,我司用了三四年,还好。没什么performance的问题。
~3
.8
【在 r******3 的大作中提到】 : FP style的scala会比Java慢,但是差距不会有Java与Python/Ruby的差距大,一般2~3 : 倍的差距吧,我记得我之前看过一个网站做的benchmark。 : 但是scala真心不是用来做算法题的,scala中很多的features Java没有,计划中的1.8 : 会加一些功能进去,但是谁知道Java 1.8哪天会realse,所以很多公司开始慢慢用 : scala。 : 但是scala不好学,而且IDE支持很差。
|
p*****2 发帖数: 21240 | 10 做了一下测试,感觉是CF的问题。
在我local测试的话,scala比java还快呢。小众语言,估计CF也不care。 |
|
|
p*****2 发帖数: 21240 | |
l*****a 发帖数: 14598 | 12 小众语言适合你这样牛人
面试时候拿出来吓倒他们。。。
【在 p*****2 的大作中提到】 : 做了一下测试,感觉是CF的问题。 : 在我local测试的话,scala比java还快呢。小众语言,估计CF也不care。
|
p*****2 发帖数: 21240 | 13
object test6 extends App {
val sc=new Scanner(System.in)
val n=sc.nextInt
val m=sc.nextInt
val mat=new Array[String](n)
val start=System.currentTimeMillis()
for(i<-0 until n) mat(i)=sc.next()
def check(i:Int, j:Int, k:Int, l:Int):Boolean={
val minX=math.min(i,k)
val maxX=math.max(i,k)
val minY=math.min(j,l)
val maxY=math.max(j,l)
var minR=true
var maxR=true
var minC=true
var maxC=true
var v=minY
while(v<=maxY && (minR || maxR)){
if(mat(minX)(v)=='W') minR=false
if(mat(maxX)(v)=='W') maxR=false
v+=1
}
if(!minR && !maxR) return false
v=minX
while(v<=maxX && (minC || maxC)){
if(mat(v)(minY)=='W') minC=false
if(mat(v)(maxY)=='W') maxC=false
v+=1
}
minC || maxC
}
for(i<-0 until n)
for(j<-0 until m)
for(k<-i+1 until n)
for(l<-0 until m){
if(mat(i)(j)=='B' && mat(k)(l)=='B' && !check(i,j,k,l)){
println("NO")
exit(0)
}
}
println("YES")
val end=System.currentTimeMillis()
println("scala time:"+(end-start));
}
public class test {
int n;
int m;
char[][] mat;
boolean check(int i, int j, int k, int l){
int minX=Math.min(i,k);
int maxX=Math.max(i,k);
int minY=Math.min(j,l);
int maxY=Math.max(j,l);
boolean minR=true;
boolean maxR=true;
boolean minC=true;
boolean maxC=true;
int v=minY;
while(v<=maxY && (minR || maxR)){
if(mat[minX][v]=='W') minR=false;
if(mat[maxX][v]=='W') maxR=false;
v+=1;
}
if(!minR && !maxR) return false;
v=minX;
while(v<=maxX && (minC || maxC)){
if(mat[v][minY]=='W') minC=false;
if(mat[v][maxY]=='W') maxC=false;
v+=1;
}
return minC||maxC;
}
boolean run(){
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
m=sc.nextInt();
mat=new char[n][];
for(int i=0;i
for(int i=0;i
for(int j=0;j
for(int k=0;k
for(int l=0;l
if(mat[i][j]=='B' && mat[k][l]=='B' && !check(i,j,k,
l)) return false;
return true;
}
public static void main(String[] args) throws Exception
{
long start=System.currentTimeMillis();
if(new test().run())
System.out.println("YES");
else
System.out.println("NO");
long end=System.currentTimeMillis();
System.out.println("java time:"+(end-start));
}
}
【在 h***i 的大作中提到】 : 贴code。scala不慢
|
p*****2 发帖数: 21240 | 14
大牛你最近研究什么呢?
【在 l*****a 的大作中提到】 : 小众语言适合你这样牛人 : 面试时候拿出来吓倒他们。。。
|
p*****2 发帖数: 21240 | 15
啥司呀?能refer不?
【在 h***i 的大作中提到】 : 是,scala不注意的话的确会慢,我司用了三四年,还好。没什么performance的问题。 : : ~3 : .8
|
p**********a 发帖数: 84 | 16 你这个写得完全是java style,除了把定义变量换成了val和var,higher-order
function等等feature都没用。建议先听听coursera的课。:) |
p*****2 发帖数: 21240 | 17
你没搞错吧 你那么搞更慢了
【在 p**********a 的大作中提到】 : 你这个写得完全是java style,除了把定义变量换成了val和var,higher-order : function等等feature都没用。建议先听听coursera的课。:)
|
r******3 发帖数: 221 | 18 你不把scala写成FP style那么还用scala有什么意义呢?
functions object + mapping functions+recursions, no vars这些是FP style的标志
,也是scala强大的地方啊。
【在 p*****2 的大作中提到】 : : 你没搞错吧 你那么搞更慢了
|
p**********a 发帖数: 84 | 19 scala本来就不会更快,都是跑在jvm下的东西。functional我的理解是一种风格,然后
把所有东西都小模块化,写顺了之后实现同样的功能code会比java简介很多,但性能上
并不会有提高。
做面试题用scala像你这样写说实在我不知道有什么意义。p.s scala里其实一般都不写
return
【在 p*****2 的大作中提到】 : : 你没搞错吧 你那么搞更慢了
|
p*****2 发帖数: 21240 | 20
你先好好看看帖子我是在干嘛
【在 r******3 的大作中提到】 : 你不把scala写成FP style那么还用scala有什么意义呢? : functions object + mapping functions+recursions, no vars这些是FP style的标志 : ,也是scala强大的地方啊。
|
|
|
p*****2 发帖数: 21240 | 21
我在跟java比较性能呢 代码不一样怎么比较 你帮我看看为什么慢吧 scala就不用教了
【在 p**********a 的大作中提到】 : scala本来就不会更快,都是跑在jvm下的东西。functional我的理解是一种风格,然后 : 把所有东西都小模块化,写顺了之后实现同样的功能code会比java简介很多,但性能上 : 并不会有提高。 : 做面试题用scala像你这样写说实在我不知道有什么意义。p.s scala里其实一般都不写 : return
|
b***m 发帖数: 5987 | 22 最近一直在玩C#,还是不行呀,感觉不如Perl好玩。 |
p*****2 发帖数: 21240 | 23
Ruby应该更好玩吧
【在 b***m 的大作中提到】 : 最近一直在玩C#,还是不行呀,感觉不如Perl好玩。
|
b***m 发帖数: 5987 | 24
没玩过,不过MS不用,我也就懒得学了。
【在 p*****2 的大作中提到】 : : Ruby应该更好玩吧
|
p*****2 发帖数: 21240 | 25
感觉你可以学学F#
【在 b***m 的大作中提到】 : : 没玩过,不过MS不用,我也就懒得学了。
|
b***m 发帖数: 5987 | |
p*****2 发帖数: 21240 | 27
M不用F#吗?
【在 b***m 的大作中提到】 : 不用的东西俺都懒得学呀。
|
i******r 发帖数: 793 | 28 不想学太多语言
C++/java/python
搞好这几个足够混饭吃了 |
l*****a 发帖数: 14598 | 29 搞好一个就足够了吧?
【在 i******r 的大作中提到】 : 不想学太多语言 : C++/java/python : 搞好这几个足够混饭吃了
|
h***i 发帖数: 1970 | 30 我怀疑他可能直接把scala当script运行了,都没先编译。
【在 p*****2 的大作中提到】 : : M不用F#吗?
|
|
|
p*****2 发帖数: 21240 | 31
Java 6
javac -cp ".;*" %1 и java.exe -Xmx256M -jar %s
javac -cp ".;*" %1
и
java.exe -Xmx256M -DONLINE_JUDGE=true -Duser.language=en -Duser.region=US -
Duser.variant=US -jar %s
Scala
As Java
好像不是。这是他们的官方说明。跟java一样的跑法。而且绝大多数情况scala都没有
性能问题,就是某些时候有。他们用的是2.9的版本,我奇怪是不是2.9里面循环有性能
问题呢?我2.10 local测试没什么问题,比java还快呢。
【在 h***i 的大作中提到】 : 我怀疑他可能直接把scala当script运行了,都没先编译。
|
t****a 发帖数: 1212 | 32 L家转play了,scala火起来了,二爷眼光好啊。 |
p*****2 发帖数: 21240 | 33
是呀。看来L也是个跳槽的好目标了。希望G,F跟进呀。现在FLGT,scala已经攻占了两
家了。
【在 t****a 的大作中提到】 : L家转play了,scala火起来了,二爷眼光好啊。
|