2017-07-16 100 views
1

推测我已经给定的起始索引和结束索引,我需要转化这些正值,并开始索引移调为0移调偏移

对于实施例:

(-5, -2) -> (0, 3) 
(-2, 3) -> (0, 5) 
(1, 10) -> (0, 9) 

我可以使用一对if来获得结果,但有没有一个优雅的单线程来做到这一点?

+1

究竟是什么逻辑?你是不是只减去两者的第一个“索引”? – UnholySheep

+0

如果你真的需要一个班轮,你可能想要去[Code Golf](https://codegolf.stackexchange.com/)。 –

回答

0

使用Math.abs找到最后一个元素的索引:

int adjustedFirst = 0; 
int adjustedLast = Math.abs(first-last); 
+0

根据提供的示例,不需要'Math.abs' - 它只是'int adjustedLast = last - first;' – UnholySheep

+0

@UnholySheep出于某种原因,我的印象是第一个索引可能大于第二个索引指数。如果情况并非如此,那么你是对的。 – Eran

0

从BOT指数减去第一指标

int secondIndex = secondIndex - firstIndex; 
int firstIndex = firstIndex - firstIndex; 

计算secondIndex第一,你正在改变firstIndex值。