循环不变式-证明正确性

我有以下算法,并且我试图找到循环不变式以证明其正确性。下面的算法返回文本T中最长偶数回文的偏移量(偏移),如果T不包含回文,则返回-1。回文报是一个字符序列,其向前和向后读取相同的字符,例如“ xttx”。

Palindrome(T) 
  k = T.length 
  while(k > 1)
    for(s = 0 to T.length - k) 
      j=1
      while(j =< k/2 and T[s + j] == T[s + k – j]) 
        j++
      if(j == (k/2) + 1) 
        return s
    k=k-2 
  return -1

每个循环的循环不变式是什么?

对于我说的外部while循环,没有回文> =到k + 2的长度

iCMS 回答:循环不变式-证明正确性

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1688106.html

大家都在问