Changeset 880 for trunk/common/diff.php
- Timestamp:
- 12/27/07 14:31:40 (4 years ago)
- File:
-
- 1 edited
-
trunk/common/diff.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/common/diff.php
r878 r880 96 96 $N = strlen($a); 97 97 $M = strlen($b); 98 $C = array(array( $N+1), array($M+1));98 $C = array(array(2), array($M+1)); 99 99 100 for ($i = 0; $i <= $N; ++$i) { 101 $C[$i][0] = ""; 102 } 103 for ($i = 0; $i <= $M; ++$i) { 104 $C[0][$i] = ""; 105 } 100 for ($i = 0; $i < 2; ++$i) 101 for ($j = 0; $j <= $M; ++$j) 102 $C[$i][$j] = ""; 103 106 104 for ($i = 1; $i <= $N; ++$i) { 107 105 for ($j = 1; $j <= $M; ++$j) { 108 106 if ($a[$i-1] == $b[$j-1]) { 109 $C[$i ][$j] = $C[$i-1][$j-1].$a[$i-1];110 } else if ($C[ $i-1][$j] > $C[$i][$j-1]) {111 $C[$i ][$j] = $C[$i-1][$j];107 $C[$i%2][$j] = $C[($i-1)%2][$j-1].$a[$i-1]; 108 } else if ($C[($i-1)%2][$j] > $C[$i%2][$j-1]) { 109 $C[$i%2][$j] = $C[($i-1)%2][$j]; 112 110 } else { 113 $C[$i ][$j] = $C[$i][$j-1];111 $C[$i%2][$j] = $C[$i%2][$j-1]; 114 112 } 115 113 } 116 114 } 117 return $C[$N ][$M];115 return $C[$N%2][$M]; 118 116 } 119 117
Note: See TracChangeset
for help on using the changeset viewer.
![[infoarena] development](/chrome/site/logo.png)