La technologie pour améliorer est un processus graduel, donc je parle des questions leetcode algorithme de niveau le plus simple a commencé à écrire, puis à la difficulté intermédiaire, a finalement terminé toute la difficulté difficile.
Actuellement, je choisi le langage C, Python et Java comme langage de mise en uvre, parce que ces trois langues est tout à fait typique. En raison de l'espace et de l'énergie limitée pour réaliser d'autres langues amis qui sont intéressés, s'il vous plaît essayer vous-même.
principale difficulté à parler en même temps, je vais ajouter d'autres choses, je pourrais parler à la pile de protocole du système d'exploitation de grandes quantités de données distribués à partir du cadre, et de parler de gros volumes de données à l'intelligence artificielle, ... ....
Si vous avez des questions ou des commentaires après l'article lettre privée à moi .
Je continuerai à le partager, votre attention s'il vous plaît.
LeetCode 453. mouvement provoque le nombre minimum d'éléments de réseau sont égales (Mouvements minimum à l'égalité de matrice Elements)
Description du problème:
Étant donné un tableau d'entiers non nuls de longueur n pour trouver le nombre minimal de mouvements de telle sorte que tous les éléments de réseau sont égales. Peut chaque mouvement n - 1 nombre d'éléments est augmenté d'un.
exemple:
langage C:
Tout d'abord pour atteindre cet objectif, vous devez faire:
Chaque mouvement, le nombre maximal qui ne pouvait pas bouger, qui est en plus du nombre maximum d'autres nombre augmente d'une, notez que je dis est que chaque fois, qui est, le soi-disant nombre maximum changera après chaque mouvement.
Le problème est régulier, si vous pouvez trouver qui peut être très facile à des algorithmes d'écriture.
Pour résumer cette loi, je suis deux exemples suivants pour illustrer:
Ci-dessus, le premier exemple suppose que le tableau d'entrée est , en se déplaçant dans la matrice finale , l'élément le plus petit est égal à 2, l'ensemble du processus est toujours accumulé de deux variante 5 pour changer trois fois. Élément 3 et le dernier ne bougeait pas, de sorte que le processus change deux fois, de même changé 4-5 fois 1, Le nombre total de changements est 3, et le nombre de changements de même dans son plus petit élément 3, mais il est aussi, en plus du nombre minimum d'éléments et des changements dans d'autres éléments. Ceci est la première règle.
Laissez LOOK s'il vous plaît à ma liste d'expressions, Le nombre total de modifications et égale à la différence de chaque élément et l'élément le plus petit, en d'autres termes, la totalité de la liste d'éléments et en soustrayant la plus petite n, où n est la longueur de la matrice.
Le deuxième exemple peut être le même résultat.
Donc, nous pouvons tirer le code suivant:
Pour rappel, la somme doit être de type long, parce que l'enregistrement est somme des éléments numériques et, cette valeur peut dépasser la plage de type int.
la mise en uvre de python de la langue:
C l'implémentation du langage et python sont fondamentalement les mêmes
Code est la suivante:
Java implémentation du langage:
la mise en uvre cohérente et réalisation du langage C Java.
Code est la suivante: