我正在检查列表是否已排序,如果已排序,则返回false,如果未排序,则从开头或结尾删除列表中的maxNumer,不是在中间,而是在结尾或开头no例如[1,2,3,4] expected false [9,1,2,3,4,6,22] // expected [1,2,3,4,6]谢谢。
public class Solution {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(9);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(22);
var r = find132pattern(list);
}
public static boolean find132pattern(List<Integer> list) {
int count = 0;
String result = "";
for(int i = 0; i < list.size(); i++){
int prev = i-1;
int next = list.get(i);
if(prev > -1){
prev = list.get(i-1);
if(prev > next){
count+=1;
}
}
}
if(count > 0){
result+="not sorted";
}else {
result+="sorted";
}
Integer start = 0;
Integer end = list.size();
Integer maxNum = Collections.max(list);
Integer maxPos = list.indexOf(maxNum);
if(result == "sorted"){
return false;
}else if(result == "not sorted" && maxPos == end || maxPos == start){
list.remove(maxPos);
find132pattern(list);
}else {
System.out.println(list);
}
return false;
}
}
// find an element
在递归中存储最大元素的索引,最后将其删除。
List<Integer> RemoveBiggestFromList(List<Integer> list, int index, int maxIndex){
if(index >= list.size()) {
if(list.size() > 0) list.remove(maxIndex);
return list;
}
else{
if(list.get(index) > list.get(maxIndex)) maxIndex = index;
return RemoveBiggestFromList(list, index + 1, maxIndex);
}
}
然后,只需执行list=RemveBig的FromList(list,0,0)
。
这是一种递归方法,可以移除最大的元素。
任务是:给定一个字符串和一个非空子字符串sub,递归计算以sub开头和结尾的最大子字符串,并返回其长度。 示例: 你能看看我的代码,告诉我它有什么问题吗? 它不适用于大小写 → 5 并返回零。
问题内容: 只是好奇地发现:为什么Go编程语言的标准库中没有诸如startswith,endswith等标准函数? 问题答案: 该字符串包中包含HasPrefix和HasSuffix。 play.golang.org
问题内容: 我试图得到这两种递归策略之间的区别。 我被告知的定义如下: 尾递归: 如果调用返回后无需执行任何操作,则调用为尾递归,即当调用返回时,立即从调用函数返回返回的值 Head递归: 当函数的第一条语句是递归调用时,调用是head递归的。 问题答案: 在中,递归调用在发生时先于函数中的其他处理(考虑它发生在函数的顶部或头部)。 在中,情况恰恰相反—处理发生在递归调用之前。在这两种递归样式之间
我试图实现一个二叉查找树使用Java。我想创建的函数之一是删除函数。这将由两个方法组成,一个称为删除,另一个称为getNodeToDelete。getNodeToDelete方法是删除方法的辅助函数。 getNodeToDelete方法是递归的,基本上返回用户希望从树中删除的节点。使用此getNodeToDelete方法返回的节点,非递归删除方法基本上会根据不同情况(例如,它是叶节点还是根节点等)
问题内容: 我使用Gson 库将Java对象转换为Json响应…问题是,在JPA请求之后,由于与其他实体的递归关系,无法转换从DB检索到的对象: 我的源代码: 如您在这里看到的,我做了: 只是通过为coordonneesList中的每个GPS对象设置null来消除递归关系。 您认为这是一个很好的解决方案,或者还有其他更实用的方法吗?谢谢 问题答案: 有一个名为GraphAdapterBuilder
问题内容: 我想使用正则表达式从字符串中删除一些符号,例如: (发生在行的开头和结尾), (仅在一行的开头)。 我的代码有什么问题?看来表达是错误的。如果字符/符号出现在行的开头或结尾(出现一次或多次),如何删除? 问题答案: 如果只想从开头和结尾删除字符,则可以使用该方法。这将给出如下代码: 该方法从字符串的开头和结尾删除参数中给定的字符,仅从开头删除它们,仅从结尾删除它们。 如果您真的想使用正