我的函数使用递归检查数组是否已排序。
不幸的是,它为每个数组返回false
。
Function call : sorted(a,0,a.length) where a[] = {1,2,3};
boolean sorted(int[] a , int s , int n)
{
if(s+1==n)
return true ;
if(a[s]<=a[s+1])
sorted(a,s+1,n);
return false ;
}
答案 0 :(得分:4)
您忽略了对sorted
的递归调用的结果。回来吧,你应该没问题:
boolean sorted(int[] a , int s , int n)
{
if(s+1==n)
return true ;
if(a[s]<=a[s+1])
return sorted(a,s+1,n); // Here!
return false ;
}
答案 1 :(得分:1)
您不使用递归调用的结果。也许它可能看起来像
return (a[s]<=a[s+1]) && (sorted(a,s+1,n))
或(如果Java使用复杂条件的快速评估):
const local_websocket = new WebSocket(ApiUrls.Socket(''));
this.ws = local_websocket;
this.ws.onopen = () => {
const authentication = {
msgType : 'Authenticate',
data : {
token : localStorage.getItem('authToken')
}
}
local_websocket.send(JSON.stringify(authentication));
};