Skip to content
This repository was archived by the owner on Oct 4, 2019. It is now read-only.

Commit e698f2f

Browse files
committed
too much trouble this
1 parent ee1be6a commit e698f2f

File tree

1 file changed

+35
-22
lines changed

1 file changed

+35
-22
lines changed

src/processing/mode/experimental/Utils.java

Lines changed: 35 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
package processing.mode.experimental;
2020

21+
import java.util.ArrayList;
2122
import java.util.HashMap;
2223

2324
/**
@@ -39,7 +40,7 @@ public static String reverse(String s) {
3940
return new String(w);
4041
}
4142

42-
public static int minDistance(String word1, String word2) {
43+
public int minDistance(String word1, String word2) {
4344
// word1 = reverse(word1);
4445
// word2 = reverse(word2);
4546
int len1 = word1.length();
@@ -89,17 +90,24 @@ public static int minDistance(String word1, String word2) {
8990
// }
9091
// System.out.println();
9192
// }
92-
int maxLen = Math.max(len1, len2);
93-
int pdeCodeMap[] = new int[maxLen], javaCodeMap[] = new int[maxLen];
94-
System.out.println("Edit distance1: " + dp[len1][len2]);
93+
// int maxLen = Math.max(len1, len2)+2;
94+
// int pdeCodeMap[] = new int[maxLen], javaCodeMap[] = new int[maxLen];
95+
// System.out.println("Edit distance1: " + dp[len1][len2]);
96+
ArrayList<OfsSet> alist = new ArrayList<Utils.OfsSet>();
9597
minDistInGrid(dp, len1, len2, 0, 0, word1.toCharArray(),
96-
word2.toCharArray(), pdeCodeMap, javaCodeMap, maxLen);
98+
word2.toCharArray(), alist);
9799
System.out.println("PDE-to-Java");
98-
for (int i = 0; i < maxLen; i++) {
99-
System.out.print(pdeCodeMap[i] + " <-> " + javaCodeMap[i]);
100-
System.out.println(", " + word1.charAt(pdeCodeMap[i]) + " <-> "
101-
+ word2.charAt(javaCodeMap[i]));
100+
// for (int i = 0; i < maxLen; i++) {
101+
// System.out.print(pdeCodeMap[i] + " <-> " + javaCodeMap[i]);
102+
// System.out.println(", " + word1.charAt(pdeCodeMap[i]) + " <-> "
103+
// + word2.charAt(javaCodeMap[i]));
104+
// }
105+
for (int i = 0; i < alist.size(); i++) {
106+
System.out.print(alist.get(i).pdeOffset + " <-> " + alist.get(i).javaOffset);
107+
System.out.println(", " + word1.charAt(alist.get(i).pdeOffset) + " <-> "
108+
+ word2.charAt(alist.get(i).javaOffset));
102109
}
110+
System.out.println("Length " + alist.size());
103111
return dp[len1][len2];
104112
}
105113

@@ -126,15 +134,15 @@ public static int distance(String a, String b) {
126134
return costs[b.length()];
127135
}
128136

129-
public static void minDistInGrid(int g[][], int i, int j, int fi, int fj,
130-
char s1[], char s2[], int pdeCodeMap[],
131-
int javaCodeMap[], int k) {
137+
public void minDistInGrid(int g[][], int i, int j, int fi, int fj,
138+
char s1[], char s2[], ArrayList set) {
132139
// if(i < s1.length)System.out.print(s1[i] + " <->");
133140
// if(j < s2.length)System.out.print(s2[j]);
134141
if (i < s1.length && j < s2.length) {
135-
pdeCodeMap[k] = i;
136-
javaCodeMap[k] = j;
137-
System.out.print(s1[i] + " " + i + " <-> " + j + " " + s2[j] + " k = " + k);
142+
// pdeCodeMap[k] = i;
143+
// javaCodeMap[k] = j;
144+
System.out.print(s1[i] + " " + i + " <-> " + j + " " + s2[j]);
145+
set.add(new OfsSet(i, j));
138146
// if (s1[i] != s2[j])
139147
// System.out.println("--");
140148
}
@@ -152,23 +160,28 @@ public static void minDistInGrid(int g[][], int i, int j, int fi, int fj,
152160
int mini = Math.min(a, Math.min(b, c));
153161
if (mini == a) {
154162
//System.out.println(s1[i + 1] + " " + s2[j]);
155-
minDistInGrid(g, i - 1, j, fi, fj, s1, s2, pdeCodeMap, javaCodeMap,
156-
k - 1);
163+
minDistInGrid(g, i - 1, j, fi, fj, s1, s2,set);
157164
} else if (mini == b) {
158165
//System.out.println(s1[i] + " " + s2[j + 1]);
159-
minDistInGrid(g, i, j - 1, fi, fj, s1, s2, pdeCodeMap, javaCodeMap,
160-
k - 1);
166+
minDistInGrid(g, i, j - 1, fi, fj, s1, s2, set);
161167
} else if (mini == c) {
162168
//System.out.println(s1[i + 1] + " " + s2[j + 1]);
163-
minDistInGrid(g, i - 1, j - 1, fi, fj, s1, s2, pdeCodeMap, javaCodeMap,
164-
k - 1);
169+
minDistInGrid(g, i - 1, j - 1, fi, fj, s1, s2, set);
165170
}
166171
}
167172
}
173+
174+
public class OfsSet {
175+
public final int pdeOffset, javaOffset;
176+
public OfsSet(int pde, int java){
177+
pdeOffset = pde;
178+
javaOffset = java;
179+
}
180+
}
168181

169182
public static void main(String[] args) {
170183
// minDistance("c = #qwerty;", "c = 0xffqwerty;");
171-
minDistance("color g = #qwerty;", "int g = 0xffqwerty;");
184+
new Utils().minDistance("color g = #qwerty;", "int g = 0xffqwerty;");
172185
// minDistance("int a = int(4.5);", "int a = PApplet.parseInt(4.5f);");
173186
// minDistance("static void main(){;", "public static void main(){;");
174187
// minDistance("#bb00aa", "0xffbb00aa");

0 commit comments

Comments
 (0)