假设您有一个函数可以返回两个数组之间的长度差,但是,它不是使用常规方法来查找长度,而是使用递归函数。
你能帮我找到一个循环不变量吗?我理解循环不变量是在条件之前和条件之后必须为真的东西。但是,我真的无法理解它。这是代码:
function func (int arr1_length, int arr2_length) {
if (arr1_length == 0 && arr2_length == 0) return 0;
if (arr1_length == 0) return arr2_length;
if (arr2_length == 0) return arr1_length;
return func (arr1_length-1, arr2_length-1);
}
第一个调用是 func(arr1.length, arr2.length);