由买买提看人间百态

topics

全部话题 - 话题: plusone
1 (共1页)
t*********h
发帖数: 941
1
来自主题: JobHunting版 - 出一道题plusone变种
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
来自主题: Programming版 - 关于针对接口的unit test
理论上说,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
来自主题: JobHunting版 - 郁闷死了,顺便贴个Amazon电面面经
这么调用呀。
for (int i=0; i digits = plusOne(digits);
}
int[] result = plusOne(plusOne(digits));
这是加 2
c**********e
发帖数: 2007
7
来自主题: Programming版 - Is this a poor practice?
假设有如下函数:
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
来自主题: Living版 - 想设计个logo
分特,想看专业的?
看这个。声明:因为网络安全原因,我删去了一些必须删去的内容。
http://schema.org/WebPage">Google