L'algorithme a été essai très embrouillée comment écrire. Enfin, pense que c'est le niveau le plus simple a commencé à écrire, obtenir un certain début des poids lourds de ce que l'intelligence artificielle, les algorithmes d'apprentissage machine, mais aussi un grand nombre d'optimisation mathématique et de connaissances, le blanc sont estimés être très déprimé, bien sûr, Je ne viens pas toujours droit.
Je prévois de donner des solutions à tous les problèmes dans les deux langues un langage statique, un langage dynamique.
J'ai choisi le langage C et Python, envisageais Java, mais l'espace est limité, les amis intéressés par vous-même.
LeetCode 852. demander un index de l'élément de maximum de la matrice, un pic (pic N dans une matrice Mountain)
Description du problème:
Les deux conditions suivantes sont remplies est appelé le « tableau de pointe »:
- a.length > = 3;
- Si 0 < Je < A.length - 1 puis A < A < ... A < A > A > ... > A Fondée;
Compte tenu maintenant un réseau de pointe, la valeur de i est déterminée.
Remarque:
exemple:
langage C:
Ceci est une question très simple, en fait, à la recherche de l'indice de tableau maximale. On traverse le tableau principal peut être obtenu. Ne vous laissez pas berner par ces conditions, les notes de sujet. Parfois, vous ignorez quelques-unes des conditions, debout dans une perspective plus large à penser, le problème est probablement pas si compliqué que ça.
la complexité du temps de O (n).
python langage:
Nous pensons naturellement d'un retour A.index (max (A)) sur elle. Bien que la simple écriture, mais l'efficacité est pire, penser, max (A) est en fait un besoin de traverser des A. A.index () traversant aussi un A, la traverse est sensiblement égale à deux fois A.
Je suis le libellé ci-dessus est d'atteindre le langage C, de sorte que seule la Une fois traversal.
Je regardais le code soumis par d'autres, plus complexes, je pense que l'utilisation de Python est d'améliorer l'efficacité du codage. Pour ce petit problème, mettre la main sur deux douzaines de lignes de code, il semble utile, mais aussi pour atteindre les objectifs précités C avec neuf lignes.
En C pour résoudre un problème, nous devons montrer au fond que la performance est une considération importante, si le temps de résoudre un problème avec l'exigence de python signifie souvent que les performances ne sont pas le plus important.
Ainsi, lors de l'utilisation du développement de python, nous ne nous attendons pas toujours de serrer la performance, à moins que la réalisation de simples conduit à la performance insatisfaisante de et nous avons pas trop mal pour le changement peut être résolu, sinon, je vous recommande encore le code python pour écrire autant que possible ces simples et directes.