Skip to content

Commit 25ba7da

Browse files
update 1813
1 parent 06b9f6b commit 25ba7da

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

src/main/java/com/fishercoder/solutions/_1813.java

+23-2
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,35 @@ public boolean areSentencesSimilar(String sentence1, String sentence2) {
1717
} else {
1818
breaks++;
1919
if (breaks > 1) {
20-
return false;
20+
break;
2121
}
2222
while (j < longWords.length && !longWords[j].equals(shortWords[i])) {
2323
j++;
2424
}
2525
}
2626
}
27-
return (breaks == 1 && i == shortWords.length && j == longWords.length) || (i == shortWords.length && breaks == 0);
27+
if ((breaks == 1 && i == shortWords.length && j == longWords.length) || (i == shortWords.length && breaks == 0)) {
28+
return true;
29+
}
30+
//we'll check from the left side and move towards the right side
31+
i = shortWords.length - 1;
32+
j = longWords.length - 1;
33+
breaks = 0;
34+
for (; i >= 0 && j >= 0; ) {
35+
if (shortWords[i].equals(longWords[j])) {
36+
i--;
37+
j--;
38+
} else {
39+
breaks++;
40+
if (breaks > 1) {
41+
return false;
42+
}
43+
while (j >= 0 && !longWords[j].equals(shortWords[i])) {
44+
j--;
45+
}
46+
}
47+
}
48+
return (breaks == 1 && i == -1 && j == -1) || (breaks == 0 && i == -1);
2849
}
2950
}
3051
}

src/test/java/com/fishercoder/_1813Test.java

+5
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,9 @@ public void test2() {
2828
public void test3() {
2929
assertEquals(true, solution1.areSentencesSimilar("c h p Ny", "c BDQ r h p Ny"));
3030
}
31+
32+
@Test
33+
public void test4() {
34+
assertEquals(true, solution1.areSentencesSimilar("A", "a A b A"));
35+
}
3136
}

0 commit comments

Comments
 (0)