java - 如果数组是有序的,则递归布尔值
问题描述
我的任务是使用递归布尔方法来找出我给该方法的具有索引的数组是否以向上计数的方式排序。我解决了非递归任务,但我现在被困住了,因为 IDK 如何制作一个递归方法,每次都必须给出一个数组......这是我的想法
public static boolean isSortedRecursive(int[] a) {
int k=a.length-1;
int z=a[k];
int v=a[k-1];
if(z>v){
return false;
}
else if(z<a.length){
k--;
isSortedRecursive(a);
return true;
}
isSortedRecursive(a);
//return false;
}
解决方案
通过添加一个参数(数组的大小),您可以使其相当简单,如下所示:
public class Main {
public static void main(String args[]) {
// Tests
System.out.println(isSortedRecursive(new int[] { 2, 3, 1, 4, 7, 5, 6 }, 7));
System.out.println(isSortedRecursive(new int[] { 6, 1, 3, 5, 7, 4, 2 }, 7));
System.out.println(isSortedRecursive(new int[] { 1, 2, 3, 4, 5, 6, 7 }, 7));
}
public static boolean isSortedRecursive(int[] a, int size) {
if (a[size - 1] < a[size - 2]) {
return false;
}
if (size > 2) {
return isSortedRecursive(a, size - 1);
}
return true;
}
}
输出:
false
false
true
注意:它只会返回true
按升序排序的数组。
推荐阅读
- java - LinkedMultiValueMap SpringFramework 未迭代(错误:无法转换为类)
- database - mysql 连接器在故障转移到从属设备后无法回退到主控设备
- c# - 具有多种不同类型的列表
- javascript - parentNode.removeChild() 和 remove() 有什么区别
- hibernate - 使用 Hibernate/JPA 在 Spring Boot 上的购物车应用程序
- rest - Azure DevOps 问题通过包含德语变音符号的 REST 调用创建项目
- django - Django RadioSelect 小部件,添加附加信息
- php - 带有验证码的 PHP 表单不起作用(白屏)
- angular-calendar - 在不使用 CalendarEvent 的情况下从 Mysql 获取数据到 Angular-Calendar
- sharepoint - 如何在线创建自动增量 Sharepoint