当前位置: 首页 > 面试题库 >

编写程序,将搜索数组以查找第一个奇数

柴瀚昂
2023-03-14
问题内容

我无法完成这个问题。编写一个程序,该程序将搜索数组以查找第一个奇数。如果找到了奇数,则找到奇数之后的第一个偶数。返回第一个奇数和第一个偶数之间的距离。如果找不到奇数或奇数之后没有偶数,则返回-1。我试过这个问题,但我无法解决这是我的代码:

public class RayOddtoEven
{
  public static int go(int[] ray)
  {
    int result = 0;
    boolean oddExists = false;
    int oddIndex = 0;
    for (int i = 0; i < array.length; i++)
    {
      if (array[i] % 2 != 0)
      {
        oddExists = true;
        oddIndex = array[i];
        break;
      } 
    }
  }
}

该代码的亚军

class Main 
{
  public static void main(String[] args) 
  {
    RayOddtoEven rt = new RayOddtoEven();

    System.out.println( rt.go( new int[]{7,1,5,3,11,5,6,7,8,9,10,12345,11} ) );
    System.out.println( rt.go( new int[]{11,9,8,7,6,5,4,3,2,1,-99,7} ) );
    System.out.println( rt.go( new int[]{10,20,30,40,5,41,31,20,11,7} ) );
    System.out.println( rt.go( new int[]{32767,70,4,5,6,7} ) );
    System.out.println( rt.go( new int[]{2,7,11,21,5,7} ) );
    System.out.println( rt.go( new int[]{7,255,11,255,100,3,2} ) );
    System.out.println( rt.go( new int[]{9,11,11,11,7,1000,3} ) );
    System.out.println( rt.go( new int[]{7,7,7,11,2,7,7,11,11,2} ) );
    System.out.println( rt.go( new int[]{2,4,6,8,8} ) );

  }
}

请帮助我完成此代码,并提供此代码给该运行程序提供的输出。我需要这个答案。我需要的正确输出。

6
2
3
1
-1
4
5
4
-1

问题答案:

我将嵌套一个循环,首先进行迭代以找到第一个奇数;然后从那里进行迭代以获得均匀的值。从第一个奇数开始迭代后,可以终止外循环。就像是

public static int go(int[] ray) {
    for (int i = 0; i < ray.length; i++) {
        if (ray[i] % 2 != 0) {
            for (int j = i + 1; j < ray.length; j++) {
                if (ray[j] % 2 == 0) {
                    return j - i;
                }
            }
            break;
        }
    }
    return -1;
}

输出(根据要求)

6
2
3
1
-1
4
5
4
-1


 类似资料:
  • 我无法完成这个问题。编写一个程序,搜索数组以找到第一个奇数。如果找到奇数,则找到奇数后的第一个偶数。返回第一个奇数和第一个偶数之间的距离。如果未找到奇数或奇数后没有偶数,则返回-1。我试过这个问题,但无法解决这是我的代码: 此代码的运行程序 请帮我完成这个代码,我给输出,这个代码给这个运行。我需要这个答案。我需要的正确输出。

  • 本文向大家介绍编写Golang程序以搜索数组中的元素,包括了编写Golang程序以搜索数组中的元素的使用技巧和注意事项,需要的朋友参考一下 定义: 一个数字是大于2且只能被其自身和1整除。 示例:素 数是2、3、5、7、11、13、113、119等。 解决这个问题的方法 步骤1:找到给定数字的平方根sq_root =√num 步骤2:如果给定数字可被[2,sq_root]所属的数字整除,则打印“非

  • 本文向大家介绍编写Golang程序以搜索排序数组中的元素,包括了编写Golang程序以搜索排序数组中的元素的使用技巧和注意事项,需要的朋友参考一下 解决这个问题的方法 步骤1:将数组从第0个索引迭代到n-1,其中n是给定数组的大小。 步骤2:声明low = 0th索引和high = n-1。启动一个for循环,直到低电平小于高电平为止。 步骤3:找到mid =(low + high)/ 2,如果中

  • 本文向大家介绍编写Golang程序以使用位运算查找奇数和偶数,包括了编写Golang程序以使用位运算查找奇数和偶数的使用技巧和注意事项,需要的朋友参考一下 例子 输入num = 5 => 101&1 = 001 => True,即Odd;否则num将是偶数。 解决这个问题的方法 步骤1: 定义一个接受数字的方法。 第2步:使用该编号执行和操作。 步骤3:如果&运算符返回非零值,则该数字将为奇数。

  • 本文向大家介绍编写Golang程序以查找数组中每个元素的出现次数,包括了编写Golang程序以查找数组中每个元素的出现次数的使用技巧和注意事项,需要的朋友参考一下 例子 输入数组= [1、3、4、3、2、3、4、0、2] 元素 1 3 4 2 0 出现次数 1 3 2 2 1 解决这个问题的方法 步骤1: 定义一个接受数组的方法。 步骤2: 定义一个映射,其中key将是数组的元素,起始值为0。 步

  • 本文向大家介绍编写Golang程序以查找数组中元素的频率,包括了编写Golang程序以查找数组中元素的频率的使用技巧和注意事项,需要的朋友参考一下 例子 在输入数组中,arr = [2、4、6、7、8、1、2] 给定数组中2的频率为2 7的频率为1 3的频率为0。 解决这个问题的方法 步骤1:定义一个接受数组和数字的函数 步骤2:声明一个变量count = 0。 步骤3:迭代给定数组,如果在数组中