给定n个数组的数组使得arr [0]为偶数且arr [n-1]为奇数,找到索引i使得a [i]为偶数且a [i + 1]为奇数

问题描述 投票:0回答:1

假设我有一个带有n个数字的数组A,所以这个数组的第一个元素是偶数,最后一个是奇数 - 我想编写一个找到索引i的函数,这样A [i]是偶数和A [ i + 1]很奇怪。该函数是返回找到的索引;如果没有任何这样的索引,则返回-1。

该解决方案的时间复杂度必须是log(n)。

在这种情况下,我一直在考虑使用二进制搜索。

这是我到目前为止所做的:

int findIndex(int A[], int n)
{
   int left=0,right=n-1,mid,i;

   while(left<=right)
    {
      mid=(left+right)\2;
      if (A[mid]%2==0 && A[mid+1]%2!=0)
        return mid;
      else if (A[mid]%2!=0)
        right=mid-1;
      else 
       left=mid+1;
    }
   return -1;
}

我不确定...

你怎么看待这件事?任何帮助将非常感激。

arrays binary-search
1个回答
-1
投票
for(int i = 0; i < A.size()-1; i++){
    if((A[i]+A[i+1])%2 == 1){
        return i;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.