遥不可及的AK 2024-04-02 00:14 采纳率: 90%
浏览 4

java学习遇到的问题

img

img

  • 在洛谷中无法通过,感觉是最后一步出了问题,佬们帮我看看,想用二分查找的办法通过
  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-02 00:14
    关注

    引自免费微信小程序:皆我百晓生

    好的,根据您的需求,这里是一个可能的解决方案:

    import java.util.*;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int N = sc.nextInt();
            int[][] height = new int[N][101];
    
            for (int i = 0; i < N; i++) {
                height[i][0] = sc.nextInt();
            }
    
            System.out.println("Given heights:");
            for (int i = 0; i < N; i++) {
                System.out.print(height[i][0] + " ");
            }
    
            int X = sc.nextInt();
    
            if (height[0][0] >= X && hasPath(height, 0)) {
                System.out.println(0);
            } else if (height[0][0] <= X && !hasPath(height, 0)) {
                System.out.println(N - 1);
            } else if (height[0][0] > X && !hasPath(height, 0)) {
                System.out.println(1);
            }
        }
    
        private static boolean hasPath(int[][] height, int pos) {
            int left = pos - 1;
            int right = pos + 1;
    
            while (left >= 0 && right < height.length && height[left][0] == height[right][0]) {
                left--;
                right++;
            }
    
            return left >= 0;
        }
    }
    

    在这个程序中,我们首先读取用户输入的人数N和每个人的身高。然后,我们将这些信息转换为二维数组height,其中每个元素表示当前高度的位置。

    接下来,我们要求用户输入身高值X。根据高度值判断应该放在哪个位置。如果高度值小于等于X,那么应该在起始位置附近放一个位置;如果高度值大于X,那么应该在当前位置附近放一个位置;如果高度值等于X,那么应该在起始位置附近的任何地方放一个位置。

    我们还定义了一个辅助方法hasPath,用于检查当前位置是否已经填满了所有的高度。

    总的来说,这个问题可以通过二分查找的方法解决。但是,在实际应用中,可能会遇到更多的情况和挑战,例如多个同高度的人在同一位置等。在这种情况下,可能需要进行更复杂的逻辑处理。因此,建议您深入研究这个问题,并查阅相关的文献和资料,以了解如何更好地处理这类问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月2日

悬赏问题

  • ¥100 华为手机私有App后台保活
  • ¥20 有谁能看看我coe文件到底哪儿有问题吗?
  • ¥20 我的这个coe文件到底哪儿出问题了
  • ¥15 matlab使用自定义函数时一直报错输入参数过多
  • ¥15 设计一个温度闭环控制系统
  • ¥100 rtmpose姿态评估
  • ¥15 java 通过反射找路径下的类,打包后就找不到
  • ¥15 通联支付网上收银统一下单接口
  • ¥15 angular有偿编写,
  • ¥15 centos7系统下abinit安装时make出错