public class TestPositionNumber {
public static int position(int x, int y) {
int result = -1;
if (1 >= x) {
if (x == y)
result = x;
} else {
int temp = x - 2;
int divRes = temp / 2;
int ysRes = temp % 2;
if (x == y) {
result = (divRes + 1) * 4 + ysRes;
} else if (y == (x - 2)) {
result = (divRes + 1) * 4 + ysRes - 2;
}
}
return result;
}
public static void main(String[] args) {
System.out.println(position(7, 5));
}
}
如图所示,我们从0开始把整数写在两条直线上,0, 1, 2, 3分别写在(0,0), (1,1), (2,0)和(3, 1)这4点上,如图规律继续写下去。
现在给定坐标(x,y),问(x,y)位置的整数是多少,如果这个位置不存在整数,输入-1。其中, 0<=x,y<=1100。
看到这个第一步,我先想到是看 xy坐标有没有什么规律,最后发现,只要有整数的部分,xy的坐标要么是 x==y,要么是 x-2==y··
有了坐标的规律就好办了··就可以知道返回-1的是那些数了··
下面就是根据xy坐标的值,怎么去确定该坐标的值,他门之间的关系是什么··