当前位置:网站首页>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. .
边栏推荐
- 图的底部问题
- 【FreeRTOS】FreeRTOS學習筆記(7)— 手寫FreeRTOS雙向鏈錶/源碼分析
- MySQL 45 lecture learning notes (12) MySQL will "shake" for a while
- Selection (023) - what are the three stages of event propagation?
- Adaptive spatiotemporal fusion of multi-target networks for compressed video perception enhancement
- Novel website program source code that can be automatically collected
- Boast about Devops
- Responsive - media query
- com. alibaba. nacos. api. exception. NacosException
- Mobile adaptation: vw/vh
猜你喜欢

Mobile adaptation: vw/vh

centos8安装mysql.7 无法开机启动

Research on an endogenous data security interaction protocol oriented to dual platform and dual chain architecture

Centos8 install mysql 7 unable to start up

CMS source code of multi wechat management system developed based on thinkphp6, with one click curd and other functions

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

There is no Chinese prompt below when inputting text in win10 Microsoft Pinyin input method

Responsive mobile web test questions

Introduction to spark core components

Bottom problem of figure
随机推荐
Tar source code analysis Part 10
电子协会 C语言 1级 34 、分段函数
用于压缩视频感知增强的多目标网络自适应时空融合
Design of test cases
Boast about Devops
【FreeRTOS】FreeRTOS学习笔记(7)— 手写FreeRTOS双向链表/源码分析
How does the inner roll break?
[GF (q) + LDPC] regular LDPC coding and decoding design and MATLAB simulation based on the GF (q) field of binary graph
同一个job有两个source就报其中一个数据库找不到,有大佬回答下吗
How to input single quotation marks and double quotation marks in latex?
Deep profile data leakage prevention scheme
Transition technology from IPv4 to IPv6
Redis - detailed explanation of cache avalanche, cache penetration and cache breakdown
Flink memory model, network buffer, memory tuning, troubleshooting
大厂技术专家:架构设计中常用的思维模型
[FreeRTOS] FreeRTOS learning notes (7) - handwritten FreeRTOS two-way linked list / source code analysis
Tar source code analysis 4
校园网络问题
If there are two sources in the same job, it will be reported that one of the databases cannot be found. Is there a boss to answer
ABCD four sequential execution methods, extended application