J'ai essayé LeetCode tous les jours 14.Le plus long préfixe commun (Python, Go)

introduction

@Ishishow gère un site de mots anglais gratuit E-tan.

J'aimerais travailler quotidiennement sur letcode pour améliorer mes capacités de programmeur et donner ma propre façon de le résoudre.

Qu'est-ce que Leetcode

leetcode.com C'est la pratique de coder des interviews pour les développeurs de logiciels. Au total, plus de 1 500 questions de codage ont été affichées, et il semble que les mêmes questions soient souvent posées lors d'entretiens réels.

Introduction au langage Go + Algorithme Je vais le résoudre avec Golang et Python pour renforcer mon cerveau. (Python est faible mais expérimenté)

5e question (problème 14)

14.Longest Common Prefix

Ecrivez une fonction qui trouve la plus longue chaîne de préfixe commune dans un tableau de chaînes.

S'il n'y a pas de préfixe commun, il renvoie une chaîne vide " ".

Example 1:

Input: strs = ["flower","flow","flight"]
Output: "fl"

Example 2:

Input: strs = ["dog","racecar","car"]
Output: ""
Explanation: There is no common prefix among the input strings.

Façon de penser

  1. Extrayez le mot le plus court du tableau
  2. Boucle le mot caractère par caractère
  3. Vérifiez tous les mots apparaissant dans la boucle et renvoyez s'ils sont différents, et continuez s'ils ne sont pas différents

Explication

  1. Vous pouvez utiliser la méthode min pour obtenir l'élément avec le plus petit nombre de caractères dans le tableau.
  2. Cela peut être une instruction for ou autre.
  3. return utilise des tranches. Vous pouvez couper dans la plage spécifiée avec le tableau [: nombre].

--Code de réponse

def longestCommonPrefix(self, strs):
    """
    :type strs: List[str]
    :rtype: str
    """
    if not strs:
        return ""
    shortest = min(strs,key=len)
    for i, ch in enumerate(shortest):
        for other in strs:
            if other[i] != ch:
                return shortest[:i]
    return shortest 
func longestCommonPrefix(strs []string) string {
	if len(strs) == 0 {
		return ""
	}
	max := len(strs[0])

	for i := 0; i < max; i++ {
		b := strs[0][i]
		for _, str := range strs[1:] {
			if i == len(str) || b != str[i] {
				return strs[0][:i]
			}
		}
	}
	return strs[0]
}

Temps d'exécution Go et Python

À partir de la gauche, RunTime, Memory, language. キャプチャ.PNG

Recommended Posts

J'ai essayé LeetCode tous les jours 14.Le plus long préfixe commun (Python, Go)
J'ai essayé LeetCode tous les jours 7. Integer Integer (Python, Go)
J'ai essayé LeetCode tous les jours 20. Parenthèses valides (Python, Go)
J'ai essayé LeetCode tous les jours 9. Palindrome Number (Python, Go)
J'ai essayé LeetCode tous les jours 1. Two Sum (Python, Go)
J'ai essayé LeetCode tous les jours 13. Roman to Integer (Python, Go)
J'ai essayé LeetCode tous les jours 21. Fusionner deux listes triées (Python, Go)
J'ai essayé LeetCode tous les jours 26. Supprimer les doublons du tableau trié (Python, Go)
J'ai essayé Grumpy (allez exécuter Python).
J'ai essayé d'exécuter faiss avec python, Go, Rust
J'ai essayé Python> autopep8
J'ai essayé Python> décorateur
Soit Code Day47 à partir de zéro "14. Préfixe commun le plus long"
J'ai essayé fp-growth avec python
J'ai essayé de gratter avec Python
J'ai essayé l'extension C de Python
J'ai essayé gRPC avec Python
J'ai essayé de gratter avec du python
J'ai essayé de toucher Python (installation)
J'ai essayé webScraping avec python.
J'ai essayé d'utiliser Thonny (Python / IDE)
J'ai essayé d'exécuter prolog avec python 3.8.2.
J'ai essayé la notification de ligne en Python
J'ai essayé la communication SMTP avec Python
leet code easy Préfixe commun le plus long
J'ai essayé de résumer la gestion des exceptions Python
J'ai essayé d'implémenter PLSA en Python
Livre Wrangle x Python Je l'ai essayé [2]
J'ai essayé d'implémenter PLSA dans Python 2
Entrée standard Python3 que j'ai essayé de résumer
J'ai essayé le rendu non réaliste avec Python + opencv
J'ai essayé d'utiliser l'API UnityCloudBuild de Python
J'ai essayé d'implémenter ADALINE en Python
J'ai essayé un langage fonctionnel avec Python
J'ai essayé d'implémenter PPO en Python
Python: j'ai essayé le problème du voyageur de commerce
Livre Wrangle x Python Je l'ai essayé [1]
Mayungo's Python Learning Episode 8: J'ai essayé l'entrée
[Python] J'ai essayé de calculer TF-IDF régulièrement
J'ai essayé de gratter la météo Yahoo (édition Python)
J'ai essayé de toucher Python (syntaxe de base)
J'ai essayé le framework de test Python Tornado
# J'ai essayé quelque chose comme Vlookup avec Python # 2