Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 767b979

Browse files
committed
Add Python solution for "Greatest Common Divisor of Strings"
1 parent 803157a commit 767b979

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,7 @@ If you would like to have collaborator permissions on the repo to merge your own
497497
<sub>Problem</sub> | <sub>articles</sub> | <sub>C</sub> | <sub>C++</sub> | <sub>C#</sub> | <sub>Dart</sub> | <sub>GO</sub> | <sub>hints</sub> | <sub>Java</sub> | <sub>JS</sub> | <sub>Kotlin</sub> | <sub>Python</sub> | <sub>Ruby</sub> | <sub>Rust</sub> | <sub>Scala</sub> | <sub>Swift</sub> | <sub>TS</sub>
498498
---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ----
499499
<sub>[0168 - Excel Sheet Column Title](https://leetcode.com/problems/excel-sheet-column-title/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](csharp%2F0168-excel-sheet-column-title.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F0168-excel-sheet-column-title.java)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0168-excel-sheet-column-title.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0168-excel-sheet-column-title.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
500-
<sub>[1071 - Greatest Common Divisor of Strings](https://leetcode.com/problems/greatest-common-divisor-of-strings/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F1071-greatest-common-divisor-of-strings.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F1071-greatest-common-divisor-of-strings.go)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F1071-greatest-common-divisor-of-strings.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F1071-greatest-common-divisor-of-strings.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F1071-greatest-common-divisor-of-strings.kt)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](rust%2F1071-greatest-common-divisor-of-strings.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F1071-greatest-common-divisor-of-strings.ts)</div></sub>
500+
<sub>[1071 - Greatest Common Divisor of Strings](https://leetcode.com/problems/greatest-common-divisor-of-strings/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F1071-greatest-common-divisor-of-strings.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F1071-greatest-common-divisor-of-strings.go)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F1071-greatest-common-divisor-of-strings.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F1071-greatest-common-divisor-of-strings.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F1071-greatest-common-divisor-of-strings.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F1071-greatest-common-divisor-of-strings.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](rust%2F1071-greatest-common-divisor-of-strings.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F1071-greatest-common-divisor-of-strings.ts)</div></sub>
501501
<sub>[1523 - Count Odd Numbers in an Interval Range](https://leetcode.com/problems/count-odd-numbers-in-an-interval-range/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](kotlin%2F1523-count-odd-numbers-in-an-interval-range.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F1523-count-odd-numbers-in-an-interval-range.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
502502
<sub>[1572 - Matrix Diagonal Sum](https://leetcode.com/problems/matrix-diagonal-sum/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F1572-matrix-diagonal-sum.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F1572-matrix-diagonal-sum.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F1572-matrix-diagonal-sum.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F1572-matrix-diagonal-sum.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
503503
<sub>[0149 - Maximum Points on a Line](https://leetcode.com/problems/max-points-on-a-line/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0149-max-points-on-a-line.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F0149-max-points-on-a-line.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0149-max-points-on-a-line.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0149-max-points-on-a-line.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0149-max-points-on-a-line.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](rust%2F0149-max-points-on-a-line.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0149-max-points-on-a-line.ts)</div></sub>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
class Solution:
2+
def gcdOfStrings(self, str1: str, str2: str) -> str:
3+
len1, len2 = len(str1), len(str2)
4+
5+
def valid(k):
6+
if len1 % k or len2 % k:
7+
return False
8+
n1, n2 = len1 // k, len2 // k
9+
base = str1[:k]
10+
return str1 == n1 * base and str2 == n2 * base
11+
12+
for i in range(min(len1, len2), 0, -1):
13+
if valid(i):
14+
return str1[:i]
15+
return ""

0 commit comments

Comments
 (0)