Il semble que des tests de codage soient menés à l'étranger lors d'entretiens d'ingénieurs, et dans de nombreux cas, l'essentiel est de mettre en œuvre des fonctions et des classes spécifiques en fonction du thème.
Apparemment, de nombreux ingénieurs prennent des mesures sur le site appelé LetCode.
C'est un site qui forme la puissance de l'algorithme qui peut résister au test de codage effectué au début, et c'est un chemin inévitable pour ceux qui veulent faire carrière dans une entreprise de technologie à l'étranger.
Je l'ai écrit en grand, mais je n'ai pas l'intention d'avoir une telle interview pour le moment.
Cependant, en tant qu'ingénieur informatique, il serait préférable d'avoir le même niveau de puissance d'algorithme qu'une personne, alors j'aimerais résoudre le problème de manière irrégulière et écrire la méthode que je pensais à l'époque sous forme de mémo.
Je le résolve avec Python3.
Table de codes Leet commençant à zéro
Dernière fois Leet Code Day56 à partir de zéro "5453. Running Sum of 1d Array"
À l'heure actuelle, je donne la priorité au moyen des 100 questions les plus appréciées. Easy a été résolu, donc si vous êtes intéressé, veuillez vous rendre à la table.
Twitter Je le fais.
Le niveau de difficulté est facile.
J'ai écrit un article parce que je pensais que c'était un bon problème d'apprendre un certain algorithme.
Le problème reçoit un tableau trié et les valeurs cibles. Si la cible est trouvée, son index est renvoyé. Si vous ne le trouvez pas, concevez votre algorithme pour renvoyer l'index s'il a été inséré dans l'ordre.
Vous pouvez supposer qu'il n'y a pas de doublons dans le tableau.
Example 1:
Input: [1,3,5,6], 5 Output: 2 Example 2:
Input: [1,3,5,6], 2 Output: 1 Example 3:
Input: [1,3,5,6], 7 Output: 4 Example 4:
Input: [1,3,5,6], 0 Output: 0
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
low = 0
high = len(nums) -1
while low <= high:
mid = (low + high) // 2
if nums[mid] == target:
return mid
elif nums[mid] < target:
low = mid + 1
else:
high = mid - 1
return low
# Runtime: 56 ms, faster than 49.71% of Python3 online submissions for Search Insert Position.
# Memory Usage: 14.6 MB, less than 16.72% of Python3 online submissions for Search Insert Position.
Comme le savent tous ceux qui le savent, c'est une question de dichotomie!
En Python, il y a une «bissectrice» dans la bibliothèque, donc vous pouvez facilement écrire en l'utilisant, mais je pense que la capacité de connaître les principes est importante, alors je l'ai écrit.
Cela pourrait être utile quelque part si vous le savez ...?
Jusqu'à ici pour cette fois. Je vous remercie pour votre travail acharné.
Recommended Posts