[加减号查找数字序列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[加减号查找数字序列相关的知识,希望对你有一定的参考价值。

我想编写一个函数来查看我的负号序列中是否有数字。我的序列是从整数构建的。下一个整数是上一个整数的+1或-1。按此顺序,我想高效地找到一个数字。我应该寻找哪种算法?

输入:0,1,2,1,0,-1,0,1,2,3,4,3,2,3,4,5 ...输出:可以说索引32

答案

[我认为Michael的方法(请参阅注释)比这有效得多,但是如果您想要最少的代码量,那么也许:

private OptionalInt findNumber(List<Integer> ints, int n) 
    return IntStream.range(0, ints.size()).
        filter(i -> ints.get(i).equals(n)).
        findFirst();

一个简单的测试:

@Test
public void findNumber() 
    List<Integer> ints = 
        List.of(0, -1, 0, 1, 2, 3, 2, 1, 0, -1, -2, -3, -2, -1, 0, 1, 2, 3, 4, 5);
    OptionalInt index = findNumber(ints, 4);
    Assertions.assertTrue(index.isPresent());
    Assertions.assertEquals(18, index.getAsInt());

以上是关于[加减号查找数字序列的主要内容,如果未能解决你的问题,请参考以下文章

大神们~html 实现加减按钮

Java有序数字序列间隔添加加减号使等式成立

Vue Input输入框两侧加减框内数字组件

javascript 使用array.reduce添加减号加数字

markdown学习笔记

小程序开发购物车加减几件demo