如果索引i处的子列表(如果有的话)按升序排列(每个项小于或等于下一项),如何返回true;否则为假。这就是我到目前为止所做的。然而,我似乎无法通过考试
public static boolean isAscending(ArrayList<ArrayList<Integer>> list, int i) {
ArrayList<Integer> data = list.get(i);
for (i = 0; i < data.size() - 1; i++) {
if (data.get(i) > data.get(i + 1)) {
return false;
}
}
return true;
}
@Test @Graded(description="IsAscendingBasic")
public void testIsAscendingBasic() {
assertFalse(ListOfListService.isAscending(emptyList, 0));
assertFalse(ListOfListService.isAscending(oneRow, 0));
assertFalse(ListOfListService.isAscending(oneRow, 1));
assertFalse(ListOfListService.isAscending(oneRow, -1));
assertTrue(ListOfListService.isAscending(list2, 0));
assertFalse(ListOfListService.isAscending(list2, 1));
assertFalse(ListOfListService.isAscending(list2, 2));
assertTrue(ListOfListService.isAscending(list2, 3));
assertTrue(ListOfListService.isAscending(list2, 4));
assertTrue(ListOfListService.isAscending(list2, 5));
list2.get(4).set(1, 20); // 20, 20
assertTrue(ListOfListService.isAscending(list2, 4));
assertTrue(ListOfListService.isAscending(list1, 1));
assertTrue(ListOfListService.isAscending(list3_emptySubLists, 0)); // empty sub-list is ascending
assertFalse(ListOfListService.isAscending(list3_emptySubLists, 1));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
@Test @Graded(description="IsAscendingComprehensive")
public void testIsAscendingComprehensive() {
testIsAscendingBasic();
assertFalse(ListOfListService.isAscending(null, 0));
assertFalse(ListOfListService.isAscending(list4_nullItems, 0));
assertTrue(ListOfListService.isAscending(list4_nullItems, 2));
assertFalse(ListOfListService.isAscending(list4_nullItems, 3));
assertFalse(ListOfListService.isAscending(list4_nullItems, 5));
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
正如所评论的那样,reusei
变量会导致意外的输出。
您可以通过在循环作用域中定义一个新的int j
变量来修复它:
public static boolean isAscending(ArrayList<ArrayList<Integer>> list, int i) {
ArrayList<Integer> data = list.get(i);
for (int j = 0; j < data.size() - 1; j++) {
if (data.get(j) > data.get(j + 1)) {
return false;
}
}
return true;
}
作为附带说明,请考虑只获得您需要的参数:
public static boolean isAscending(List<Integer> list) {
for (int j = 0; j < list.size() - 1; j++) {
if (list.get(j) > list.get(j + 1)) {
return false;
}
}
return true;
}
boolean isAscending = isAscending(list.get(3));
问题内容: 我需要对列表进行排序,然后返回带有列表中已排序项目索引的列表。例如,如果我要排序的列表是,则需要返回。 这个问题以字节为单位发布,但我认为我会在这里重新发布。 http://bytes.com/topic/python/answers/44513-sorting-list-then-return-index- sorted-item 我的具体需求是根据对象的属性对对象列表进行排序。然后
到目前为止,我得到了indexOutOfBoundsException错误
这里,我试图在之后按排序列表,我有一个列表,其中在即处有的数据,在即处有的数据。 现在,我想要的是基于该按排序列表。为此,我使用了 感谢任何帮助。谢谢 下面是我所做的排序
问题内容: 因此,请考虑以下表格: 桌子: id(整数,主键) 11 c2 c3 c4 c5 假设我使用的查询在运行时有所不同(例如,一个网站,其中的复选框表示是否要在特定字段上进行搜索),一些可能的实例是: (使用一些值) 问题: 索引的作用是什么?在几个查询中将如何使用它? 在此表上创建最佳索引是什么? 问题答案: MySQL文档做了解释多列索引是如何工作的一个很好的工作在这里。 通常,当索引
问题内容: 我有一个庞大的产品数据库,每个星期天,我的脚本都会激活50个新产品。问题是,根据我脚本中的某些规则,我发现我应该优先激活一些产品。(以您的示例为例,它应该始终优先激活其中名称为“ hello kitty”和“ meshuggah”的产品,然后再进行其他操作) 我的数据库表包含有关产品的信息和唯一ID。可以说脚本找到了这些ID中的5个,标题中有hello kitty。 因此,我该如何进行
但是如果serviceworkList列表为空,则变量“validate”为false。我知道allMatch的规范,如果list为空,则返回为true。 有什么建议,我可以如何重建流,如果列表列表为空,我会得到假?