t*********h 发帖数: 941 | 1 plusone 本身比较简单 如果要求是给定数组加上一个任意整数 有什么好办法? |
|
w****r 发帖数: 15252 | 2 来自主题: JobHunting版 - 一道面试题 public int[] PlusOne(int[] digits){
int carry =1,sum=0;
int[] result = new int[digits.length];
for(int i = digits.length -1; i>=0; i--){
sum = carry+digits[i];
carry = sum/10;
result[i] = sum%10;
}
if(carry == 1){
int[] plusone = new int[digits.length+1];
plusone[0] = carry;
for(int i=1;i
plusone[i] = result[i-1];
return... 阅读全帖 |
|
A*******e 发帖数: 2419 | 3 理论上说,unit tests只应该针对接口。结合案例写一下我的理解,大家看对不对。
案例一:
用工具跑test coverage,发现有些代码没有被覆盖。应该加测试用例吗?我的想法是
,只要测试用例已经覆盖了所有接口文档承诺的功能,就不应该加测试用例。这些代码
可能只是对一些undefined行为的处理。
案例二:
有一个函数:Obj::Plus(Obj rhs),实现了Obj对象的加法,并且针对lhs和rhs不同的
取值情况,有NxN个测试。
现在加一个函数方便使用:
Obj::PlusOne() {
Plus(Obj(1));
}
对于PlusOne,如何写测试程序?如果独立看PlusOne,应该也有N个测试,针对不同lhs
。但这样似乎是重复工作,因为PlusOne实际是Plus的特殊情况。我的想法是,在接口
文档里标明PlusOne是特殊情况,甚至直接放到.h里。然后写少数几个例子即可。 |
|
l******n 发帖数: 577 | 4 Look at the code below:
public class Example {
private int i;
synchronized public void plusOne() {
i++;
}
}
what's the problem? When thread x call plusOne method, x get the monitor of
Example, y cannot do anything with the synchronized method of Example, just
block there and wait. After x has done with plusOne, y can have opportunity
to call plusOne. |
|
l******n 发帖数: 577 | 5 Look at the code below:
public class Example {
private int i;
synchronized public void plusOne() {
i++;
}
}
what's the problem? When thread x call plusOne method, x get the monitor of
Example, y cannot do anything with the synchronized method of Example, just
block there and wait. After x has done with plusOne, y can have opportunity
to call plusOne. |
|
p*********g 发帖数: 116 | 6 这么调用呀。
for (int i=0; i
digits = plusOne(digits);
}
int[] result = plusOne(plusOne(digits));
这是加 2 |
|
c**********e 发帖数: 2007 | 7 假设有如下函数:
int plusOne(int x) {
x++;
return x;
}
这种写法是不是很蠢?因为 x 既是输入变量又是一个局部变量。
对于这个具体问题来说,当然我们可以写成
int plusOne(int x) {
return x+1;
}
但是有时候复杂一点的情况,没法这么做。是不是得写成下面这样子?
int plusOne(int x) {
int y=x+1;
return y;
}
输入变量和一个局部变量倒是分清了,只是要多用一个变量。
大侠们怎么看? |
|
w******t 发帖数: 16937 | 8 分特,想看专业的?
看这个。声明:因为网络安全原因,我删去了一些必须删去的内容。
http://schema.org/WebPage">Google
|
|