当前位置:网站首页>2022 - 021arts: début du deuxième semestre
2022 - 021arts: début du deuxième semestre
2022-07-04 07:12:00 【Flashsu】
ARTS:Algorithm、Review、Tip、Share
- Algorithm Problème d'algorithme
- Review Article en anglais
- Tip Rappelez - vous une petite astuce que vous avez apprise au travail cette semaine
- SharePenser à un point de vue technique、Points chauds sociaux、Un produit ou une confusion
Algorithm
25. K Une liste de liens inversés
Voici le noeud d'en - tête de la liste head ,Chaque k Les noeuds tournent en groupes,Veuillez retourner à la liste modifiée.
k C'est un entier positif,Sa valeur est inférieure ou égale à la longueur de la liste.Si le nombre total de noeuds n'est pas k Nombre entier de fois de,Alors gardez les derniers noeuds restants dans l'ordre d'origine.
Vous ne pouvez pas simplement changer les valeurs à l'intérieur d'un noeud,Au lieu de cela, un échange de noeuds réel est nécessaire.
Exemple 1:
Entrée:head = [1,2,3,4,5], k = 2
Produits:[2,1,4,3,5]
Exemple 2:
Entrée:head = [1,2,3,4,5], k = 3
Produits:[3,2,1,4,5]
Conseils:
Le nombre de noeuds dans la liste de liens est n
1 <= k <= n <= 5000
0 <= Node.val <= 1000
Niveau avancé:Vous pouvez en concevoir un qui n'utilise que O(1) L'algorithme de l'espace mémoire supplémentaire résout - il ce problème?
Source::Boucle de force(LeetCode)
Liens:https://leetcode.cn/problems/reverse-nodes-in-k-group
Description de la solution
Bien queLeetCode C'est un niveau difficile. , Mais ce n'est pas si difficile à comprendre. . Il s'agit principalement de grouper les listes de liens entrants , Puis inversez chaque groupe , Les situations dans lesquelles les éléments d'en - tête peuvent être modifiés au cours du processus , L'astuce est de régénérer un noeud virtuel devant le noeud de tête , De cette façon, même si l'inversion est faite , Vous pouvez également utiliser le next Pointeur vers le noeud final de la tête .
Réalisation d'une liste de liens inversés spécifiques , C'est assez courant dans les interviews ,Je me souviens que j'étais2018 La première question algorithmique que j'a i posée à l'entrevue était une simple question de liste inversée. ,Ça correspond aussiLeetCodeDe 206. Inverser la liste des liens Parce qu'il n'y avait pas d'accent sur l'apprentissage 、 Pas d'entraînement non plus , J'y ai réfléchi et je ne l'ai pas écrit. , En fait, dans le titre de l'algorithme , Il n'y a pas d'algorithme profond pour les problèmes liés à la Liste ,C'est surtout l'inspectioncodingLa capacité de, Faites attention à la pratique. .
Mise en œuvre du codage
public ListNode reverseKGroup(ListNode head, int k) {
ListNode originalHeadPre = new ListNode(-1);
originalHeadPre.next = head;
ListNode pre = originalHeadPre;
while (head != null) {
ListNode tail = pre;
// Dans l'ordrek Élément de tête et de queue de l'élément
for (int i = 0; i < k; i++) {
tail = tail.next;
if (tail == null) {
return originalHeadPre.next;
}
}
ListNode nextHead = tail.next;
// Marche arrière、 Retour à la liste des sources
ListNode[] htGroup = this.myReverse(head, tail);
pre.next = htGroup[0];
htGroup[1].next = nextHead;
pre = htGroup[1];
head = nextHead;
}
return originalHeadPre.next;
}
ListNode[] myReverse(ListNode head, ListNode tail) {
ListNode newNext = tail.next;
ListNode cur = head;
while (newNext != tail) {
ListNode curNext = cur.next;
cur.next = newNext;
newNext = cur;
cur = curNext;
}
return new ListNode[]{
tail, head};
}
Analyse de la complexité
Complexité temporelleO(N)
Complexité spatialeO(1)
Review
How does one begin to tackle understanding a large open source code base?
Tip
On me demande souventSpringGestionbean Quel est le cycle de vie de ? On peut le trouver dans de nombreux endroits. ,DeSpringInterface racineBeanFactoryDeNotes Pour obtenir une réponse officielle :
Bean factory implementations should support the standard bean
lifecycle interfaces as far as possible. The full set of
initialization methods and their standard order is:
- BeanNameAware’s setBeanName
- BeanClassLoaderAware’s setBeanClassLoader
- BeanFactoryAware’s setBeanFactory
- EnvironmentAware’s setEnvironment
- EmbeddedValueResolverAware’s setEmbeddedValueResolver
- ResourceLoaderAware’s setResourceLoader (only applicable when running in an application context)
- ApplicationEventPublisherAware’s setApplicationEventPublisher (only applicable when running in an application context)
- MessageSourceAware’s setMessageSource (only applicable when running in an application context)
- ApplicationContextAware’s setApplicationContext (only applicable when running in an application context)
- ServletContextAware’s setServletContext (only applicable when running in a web application context)
- postProcessBeforeInitialization methods of BeanPostProcessors
- InitializingBean’s afterPropertiesSet
- a custom init-method definition
- postProcessAfterInitialization methods of BeanPostProcessors
On shutdown of a bean factory, the following lifecycle methods apply:
- postProcessBeforeDestruction methods of DestructionAwareBeanPostProcessors
- DisposableBean’s destroy
- a custom destroy-method definition
Share
J'a i enfin mis en ligne un projet très occupé le week - end dernier. , Le bilan de la semaine dernière était négatif. , Se plaindre d'un sentiment négatif , C'est une semaine de repos. , Profitez de cette occasion pour réfléchir à vos lacunes , Beaucoup de choses n'ont pas ét é faites par moi - même dans le passé. , Ils sont souvent distraits. 、Je ne peux pas me concentrer., Beaucoup de choses à faire , Et il n'y a pas de Maître , En plus d'être interrompu intentionnellement ou involontairement 、 Cas d'interruption active , C'est une accumulation de misère , Bien qu'il y ait eu un changement intentionnel , Mais pas dans deux jours. .Lire récemment《Le courage d'être haï》, Il n'y a pas de raison de s'attarder sur le passé. , L'important, c'est que dans le moment présent ,Quel est notre but?, Voulez - vous vraiment changer , J'en penserai plus après moi - même. ,Que faire?, Ne rien faire , Quelles sont les priorités les plus élevées , Et se concentrer davantage 、Concentre - toi.
Non seulement il est arrivé par inadvertance, 22Le second semestre de l'année, Attendez - vous à ce que vous vous amélioriez. .
边栏推荐
- Vulhub vulnerability recurrence 76_ XXL-JOB
- selenium驱动IE常见问题解决Message: Currently focused window has been closed.
- Paddleocr prompt error: can not import AVX core while this file exists: xxx\paddle\fluid\core_ avx
- Introduction to deep learning Ann neural network parameter optimization problem (SGD, momentum, adagrad, rmsprop, Adam)
- What is the use of cloud redis? How to use cloud redis?
- How to input single quotation marks and double quotation marks in latex?
- Node connection MySQL access denied for user 'root' @ 'localhost' (using password: yes
- The number of patent applications in China has again surpassed that of the United States and Japan, ranking first in the world for 11 consecutive years
- The crackdown on Huawei prompted made in China to join forces to fight back, and another enterprise announced to invest 100 billion in R & D
- the input device is not a TTY. If you are using mintty, try prefixing the command with ‘winpty‘
猜你喜欢

Zhanrui tankbang | jointly build, cooperate and win-win zhanrui core ecology

tornado项目之路由装饰器

Selenium ide plug-in download, installation and use tutorial

Introduction to spark core components

NLP-文献阅读总结
![[network data transmission] FPGA based development of 100M / Gigabit UDP packet sending and receiving system, PC to FPGA](/img/71/1d6179921ae84b1ba61ed094e592ff.png)
[network data transmission] FPGA based development of 100M / Gigabit UDP packet sending and receiving system, PC to FPGA

大厂技术专家:架构设计中常用的思维模型

响应式——媒体查询

Chain ide -- the infrastructure of the metauniverse

Bottom problem of figure
随机推荐
Transition technology from IPv4 to IPv6
【FPGA教程案例7】基于verilog的计数器设计与实现
Boast about Devops
[freertos] freertos Learning notes (7) - written freertos bidirectionnel Link LIST / source analysis
[kubernetes series] kubesphere is installed on kubernetes
【网络数据传输】基于FPGA的百兆网/兆网千UDP数据包收发系统开发,PC到FPGA
输入年份、月份,确定天数
Su Weijie, a member of Qingyuan Association and an assistant professor at the University of Pennsylvania, won the first Siam Youth Award for data science, focusing on privacy data protection, etc
What is the use of cloud redis? How to use cloud redis?
flask-sqlalchemy 循环引用
Summary of MySQL common judgment functions!! Have you used it
The important role of host reinforcement concept in medical industry
Tar source code analysis 4
Node connection MySQL access denied for user 'root' @ 'localhost' (using password: yes
Splicing plain text into JSON strings - easy language method
MySQL 45 lecture learning notes (12) MySQL will "shake" for a while
【森城市】GIS数据漫谈(一)
提升复杂场景三维重建精度 | 基于PaddleSeg分割无人机遥感影像
【FreeRTOS】FreeRTOS学习笔记(7)— 手写FreeRTOS双向链表/源码分析
Master-slave replication principle of MySQL database