zoukankan      html  css  js  c++  java
  • 【leetcode】1071. Greatest Common Divisor of Strings

    题目如下:

    For strings S and T, we say "T divides S" if and only if S = T + ... + T  (T concatenated with itself 1 or more times)

    Return the largest string X such that X divides str1 and X divides str2.

    Example 1:

    Input: str1 = "ABCABC", str2 = "ABC"
    Output: "ABC"
    

    Example 2:

    Input: str1 = "ABABAB", str2 = "ABAB"
    Output: "AB"
    

    Example 3:

    Input: str1 = "LEET", str2 = "CODE"
    Output: ""
    

    Note:

    1. 1 <= str1.length <= 1000
    2. 1 <= str2.length <= 1000
    3. str1[i] and str2[i] are English uppercase letters.

    解题思路:题目比较简单,依次判断str1[0:i]是否满足条件即可。

    代码如下:

    class Solution(object):
        def gcdOfStrings(self, str1, str2):
            """
            :type str1: str
            :type str2: str
            :rtype: str
            """
            for i in range(len(str1),0,-1):
                if len(str1) % i == 0 and len(str2) % i == 0 and 
                        str1[:i] * (len(str1) / i ) == str1 and str1[:i] * (len(str2) / i ) == str2:
                    return str1[:i]
            return ''
  • 相关阅读:
    POJ1045 Bode Plot
    POJ1044 Date bugs
    POJ1043 What's In A Name?
    POJ1042 Gone Fishing
    POJ1041 John's trip
    POJ1040 Transportation
    POJ1039 Pipe
    background-size属性
    一些CSS的备忘
    only-child选择器
  • 原文地址:https://www.cnblogs.com/seyjs/p/10996180.html
Copyright © 2011-2022 走看看