题目
我有一只猫和一只狗。
我和小猫/小狗在同一时间得到它们。那是humanYears
(人年)多年前的事了。
现在回到各自的年龄为[ humanYears
,catYears
,dogYears
]
注意:
- humanYears> = 1
- humanYears只是整数
- 猫年
15
第一年的猫年
+9
第二年的猫年
+4
之后每年的猫年 - 狗年
15
第一年的狗年
+9
第二年的狗年
+5
之后每年的狗年
参考
- http://www.catster.com/cats-101/calculate-cat-age-in-cat-years
- http://www.slate.com/articles/news_and_politics/explainer/2009/05/a_dogs_life.html
测试用例:
import org.junit.Test;
import static org.junit.Assert.assertArrayEquals;
import org.junit.runners.JUnit4;
public class ExampleTest {
@Test
public void one() {
assertArrayEquals(new int[]{1,15,15}, Dinglemouse.humanYearsCatYearsDogYears(1));
}
@Test
public void two() {
assertArrayEquals(new int[]{2,24,24}, Dinglemouse.humanYearsCatYearsDogYears(2));
}
@Test
public void ten() {
assertArrayEquals(new int[]{10,56,64}, Dinglemouse.humanYearsCatYearsDogYears(10));
}
}
解题
My
public class Dinglemouse {
public static int[] humanYearsCatYearsDogYears(final int humanYears) {
int[] arr = new int[3];
arr[0] = humanYears;
if(humanYears == 1) {
arr[1] = 15;
arr[2] = 15;
} else if(humanYears == 2) {
arr[1] = 24;
arr[2] = 24;
} else if(humanYears > 2) {
arr[1] = 24 + (humanYears-2) * 4;
arr[2] = 24 + (humanYears-2) * 5;
}
return arr;
}
}
Other
一个字,Clever!
public class Dinglemouse {
public static int[] humanYearsCatYearsDogYears(final int y) {
return new int[]{y,y==1?15:16+4*y,y==1?15:14+5*y};
}
}
后记
别人总是比你聪明,这样你就有动力了。
网友评论