java - 如何查找数组的2个元素是否包含某个值

标签 java arrays loops

不知怎的,我设法用下面的代码找到一个特定的值,但是我如何搜索数组的值为 1 并且下一个值为 3

unlucky1([1, 3, 4, 5]) → true
unlucky1([2, 1, 3, 4, 5]) → true
unlucky1([1, 1, 1]) → false

public boolean unlucky1(int[] nums) {
  //int[] a = new int[] {1,3};

  for(int i: nums)
  {
    if (i == 1 )

    return true;

  }
    return false;


}

最佳答案

您可以使用状态机:

boolean wasOne = false;
for (int i: nums) {
   if (i == 3 && wasOne) {
       return true;
   }
   wasOne = i == 1;
}
return false;

关于java - 如何查找数组的2个元素是否包含某个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49809418/

相关文章:

java - 多个 JsonCreator 注解方法

java - Tomcat 推荐人锁定

java - 隐藏 fragment 以隔离代码

python - 计算一个大数组中的数组

C MPI 数组搜索帮助 (MPI_Scatter)

java - 添加带有循环的 ActionListener

java - 横向二维锯齿状数组,列优先

c++ - 数组与 vector : Introductory Similarities and Differences

python - 如何计算列表中唯一值的出现次数

algorithm - 这个算法的Big O分析是什么?