<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://mylimbicwiki.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fukakai</id>
	<title>My Limbic Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://mylimbicwiki.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fukakai"/>
	<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=Special:Contributions/Fukakai"/>
	<updated>2026-04-16T13:02:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1866</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1866"/>
		<updated>2026-04-13T22:37:50Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Cool Websites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Welcome=&lt;br /&gt;
This MediaWiki plateform is private. All the content is delivered on a public access to allow me  to access and share it easily with friends.&lt;br /&gt;
If you have not be invited, please enjoy the content as it is but keep in mind the main goal of the data you can find here is purely a personal &amp;quot;memory clearing&amp;quot; about things i would like to remember.&lt;br /&gt;
it is not necessarily the expression of my opinion.&lt;br /&gt;
There is no political or reliable information here for you. &lt;br /&gt;
Theses pages are only saved all along my readings, viewing and experiences.&lt;br /&gt;
&lt;br /&gt;
You can contact me by e-mail: romain.dalichamp@free.fr&lt;br /&gt;
Or througth one of theses following links:&lt;br /&gt;
* Site Pro: [http://romain.dalichamp.fr romain.dalichamp.fr]&lt;br /&gt;
* LinkedIn : [http://www.linkedin.com/in/romaindalichamp linkedin.com/in/romaindalichamp]&lt;br /&gt;
* Viadeo : [http://www.viadeo.com/fr/profile/romain.dalichamp viadeo.com/fr/profile/romain.dalichamp]&lt;br /&gt;
* Monster: [http://www.monster.ca monster.ca]&lt;br /&gt;
* Blogging Voyage : [http://www.mylimbictrip.fr mylimbictrip.fr]&lt;br /&gt;
* Instagram: [http://www.instagram.com/mylimbictrip instagram.com/mylimbictrip]&lt;br /&gt;
* Facebook : [http://www.facebook.com/mylimbictrip facebook.com/mylimbictrip]&lt;br /&gt;
* Twitter : [https://twitter.com/ @mylimbictrip]&lt;br /&gt;
* Blogging Sciences &amp;amp; Technologies : [http://blog-romain.dalichamp.fr blog-romain.dalichamp.fr]&lt;br /&gt;
* Wiki : [http://romain.dalichamp.fr/wiki romain.dalichamp.fr/wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you&lt;br /&gt;
&lt;br /&gt;
Romain&lt;br /&gt;
&lt;br /&gt;
=Bien être=&lt;br /&gt;
===Méditation===&lt;br /&gt;
* [[Méditation, les bases]]&lt;br /&gt;
* [[Meditation (Bernard Werberd)]]&lt;br /&gt;
* [[Méditation Guidée]]&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
* [[General knowledge about the human body]]&lt;br /&gt;
* [[Course a pied]]&lt;br /&gt;
* [[WOD]]&lt;br /&gt;
&lt;br /&gt;
===Alimentation===&lt;br /&gt;
* [[LifeStyle]]: Everyday Food, les bons reflexes&lt;br /&gt;
* [[Alimentation du sport]]&lt;br /&gt;
* [[Alimentation du cerveau]]&lt;br /&gt;
&lt;br /&gt;
===Everyday skills===&lt;br /&gt;
* [[Se couper les cheveux]]&lt;br /&gt;
&lt;br /&gt;
=Influences=&lt;br /&gt;
* [[Influences]]&lt;br /&gt;
&lt;br /&gt;
=Permis=&lt;br /&gt;
* [[Permis moto A2 en France]]&lt;br /&gt;
* [[Permis moto 6A au Canada]]&lt;br /&gt;
* [[Permis moto Canada et équivalences avec la France]]&lt;br /&gt;
* [[Bateau - Côtier]]&lt;br /&gt;
* [[Bateau - Fluvial]]&lt;br /&gt;
&lt;br /&gt;
=Ecologie (en cours)=&lt;br /&gt;
* [[Ecologie]]&lt;br /&gt;
&lt;br /&gt;
=Professionnel=&lt;br /&gt;
* [https://linuxfr.org/users/fredx/journaux/ce-qu-on-demande-a-un-developpeur-aujourd-hui Ce qu&#039;on demande à un développeur aujourd&#039;hui]&lt;br /&gt;
&lt;br /&gt;
==Tech Lead==&lt;br /&gt;
* [[Rôles et Responsabilités du Tech Lead]]&lt;br /&gt;
* [[Connaissances Techniques utiles au Tech Lead]]&lt;br /&gt;
&lt;br /&gt;
==Devops==&lt;br /&gt;
* [[AWS Certified Developer Associate]]&lt;br /&gt;
* [[Installer et Configurer SonarQube sur AWS]]&lt;br /&gt;
* [[Certificats Signés via Cerbot et LetsEncrypt]]&lt;br /&gt;
&lt;br /&gt;
==Interviews==&lt;br /&gt;
* [[Interview for a position]]&lt;br /&gt;
* [[Pre-Employment tests]]&lt;br /&gt;
* [[About Programation]]&lt;br /&gt;
* [[GAFAM Interviews]]&lt;br /&gt;
** Resume&lt;br /&gt;
** [[LeetCode]]&lt;br /&gt;
** Best books about Java&lt;br /&gt;
*** [https://drive.google.com/file/d/17HIzI6O78Fl2dLvn9qFsS972s6QZM3Wj/view?usp=drive_link Designing Data-Intensive Applications] &lt;br /&gt;
*** [[Designing Data-Intensive Applications, 2nd Edition]]&lt;br /&gt;
*** [[Effective Java 2nd Edition]]&lt;br /&gt;
*** [[Clean Code]]&lt;br /&gt;
** Techs&lt;br /&gt;
** Fun screen&lt;br /&gt;
** Loop&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
* [[About Programation|About Programming]]&lt;br /&gt;
* [[About Algorithm]]&lt;br /&gt;
* [[Licences]]&lt;br /&gt;
* [[About Tests]]&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java]]&lt;br /&gt;
* [[Code Reviews - Seniors|Code Reviews]]&lt;br /&gt;
* [[Oracle Certification Associate 1Z0-808]]&lt;br /&gt;
* [[Tests Unitaires]]&lt;br /&gt;
&lt;br /&gt;
====Specificities====&lt;br /&gt;
* [[Java - Lambdas]]&lt;br /&gt;
* [[Java - Streams]]&lt;br /&gt;
* [[Java - Date Time]]&lt;br /&gt;
* [[Java - Maven]]&lt;br /&gt;
* [[Java - JUnit]]&lt;br /&gt;
* [[Java - Mockito]]&lt;br /&gt;
* [[Java - Multiple Inheritance]]&lt;br /&gt;
&lt;br /&gt;
====Spring====&lt;br /&gt;
About Spring Data: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Boot]]&lt;br /&gt;
** [[Hibernate with Spring Boot]]&lt;br /&gt;
** [[View Resolvers with Spring Boot]]&lt;br /&gt;
* [[MicroServices with Spring]]&lt;br /&gt;
* [[Spring JDBC]]&lt;br /&gt;
* [[Spring AOP]]&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
=== Java EE ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java EE]]&lt;br /&gt;
&lt;br /&gt;
=== Autres Langages ===&lt;br /&gt;
* [[About Android]] (en cours)&lt;br /&gt;
* [[About Javascript]]&lt;br /&gt;
* [[About Angular]] (en cours)&lt;br /&gt;
* [[About Arduino]] (en cours)&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
* [[SCRUM]]&lt;br /&gt;
* [[Continuous integration]]&lt;br /&gt;
** [[Jenkins]]&lt;br /&gt;
* [[Continuous Testing]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
* [[Java - Design Pattern - Proxy]]&lt;br /&gt;
* [[Java - Design Pattern - Multiple Inheritance]]&lt;br /&gt;
* [[Java - Design Pattern - Singleton]]&lt;br /&gt;
* [[Java - Design Pattern - Inversion of Control]]&lt;br /&gt;
&lt;br /&gt;
===Case===&lt;br /&gt;
&lt;br /&gt;
[[file:case.png| 200px]]&lt;br /&gt;
&lt;br /&gt;
===Owasp: Open Web Application Security Project===&lt;br /&gt;
&lt;br /&gt;
TOP 10: https://owasp.org/www-project-top-ten/&lt;br /&gt;
&lt;br /&gt;
=[[Apprendre à parler une langue]] (en cours)=&lt;br /&gt;
* [[Apprendre à parler Francais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Anglais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Espagnol]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Arabe]] (en cours)&lt;br /&gt;
=Interaction Sociales=&lt;br /&gt;
* [[Avoir de la répartie]] (en cours)&lt;br /&gt;
* [[Argumenter et convaincre]] (en cours)&lt;br /&gt;
* [[Speech elevator]] (en cours)&lt;br /&gt;
&lt;br /&gt;
= Cool Websites =&lt;br /&gt;
* [[Live Maps]]&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
* TV&lt;br /&gt;
** [https://famelack.com/ca/ famelack.com] - All free TV channels around the world&lt;br /&gt;
* Phone&lt;br /&gt;
** [https://receive-smss.com/ receive-smss.com] - Temporary phone number to receive SMSs&lt;br /&gt;
* Audio&lt;br /&gt;
** [https://www.myinstants.com/fr/index/ca/ myinstants.com] - Buttons with short fun sounds&lt;br /&gt;
* Watch together&lt;br /&gt;
** [https://app.kosmi.io/room/@romaindalic Kosmi.io] - Watch anything together&lt;br /&gt;
* Learn&lt;br /&gt;
** [https://animagraffs.com/ animagraffs.com] - Learn everything in detailed videos&lt;br /&gt;
** [https://www.zygotebody.com/ ZygoteBody] - Human body in 3D&lt;br /&gt;
* Movies&lt;br /&gt;
** [https://shotdeck.com/ shotdeck.com] - search movies by keywords&lt;br /&gt;
* Objects&lt;br /&gt;
** [https://fr.ifixit.com/ fr.ifixit.com] - Fix anything - Instructions&lt;br /&gt;
* Create Applications&lt;br /&gt;
** [https://lovable.dev/ lovable.dev]&lt;br /&gt;
** [https://app.emergent.sh/landing/ app.emergent.sh]&lt;br /&gt;
* Understand LLMs&lt;br /&gt;
** https://bbycroft.net/llm&lt;br /&gt;
* Space&lt;br /&gt;
** https://eyes.nasa.gov/apps/solar-system/#/home - Solar System Live&lt;br /&gt;
*** Events&lt;br /&gt;
**** https://eyes.nasa.gov/apps/solar-system/#/sc_new_horizons/events/pluto_flyby?rate=90&amp;amp;time=2015-07-14T10:50:00.000+00:00 - Flyby of Pluto&lt;br /&gt;
**** https://eyes.nasa.gov/apps/solar-system/#/sc_cassini/events/grand_finale?rate=60&amp;amp;time=2017-04-26T08:15:00.000+00:00 - Cassini Grand Finale&lt;br /&gt;
** https://eyes.nasa.gov/apps/asteroids/#/home - Asteroides Live&lt;br /&gt;
** https://eyes.nasa.gov/apps/earth/#/ - Earth&lt;br /&gt;
** https://eyes.nasa.gov/apps/exo/ - Exoplanmets&lt;br /&gt;
** https://eyes.nasa.gov/apps/mars2020/#/home - Rover Landing Simulation on Mars&lt;br /&gt;
** https://eyes.nasa.gov/apps/dsn-now/dsn.html -  All of the missions transmitting data to Earth, live.&lt;br /&gt;
&lt;br /&gt;
=Games=&lt;br /&gt;
* [[Minecraft]]&lt;br /&gt;
* [https://mess.eu.org/ mess.eu.org] - Free Online Minecraft&lt;br /&gt;
&lt;br /&gt;
=Domotique=&lt;br /&gt;
* [[Raspberry PI]]&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
=== Toutes les pages===&lt;br /&gt;
* [http://wiki-romain.dalichamp.fr/Spécial:Toutes_les_pages Liste Complète|Spécial:Toutes_les_pages Liste Complète]&lt;br /&gt;
=== Excel Table to MediaWiki Table ===&lt;br /&gt;
https://tools.wmflabs.org/excel2wiki/index.php&lt;br /&gt;
=== Edit Post ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Help:Formatting#Text formatting markup&lt;br /&gt;
=== Private Wiki ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=BlockChain=&lt;br /&gt;
* [[About Blockchain]]&lt;br /&gt;
* [[Blockchain Python Programming]]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1865</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1865"/>
		<updated>2026-04-07T14:59:38Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Cool Websites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Welcome=&lt;br /&gt;
This MediaWiki plateform is private. All the content is delivered on a public access to allow me  to access and share it easily with friends.&lt;br /&gt;
If you have not be invited, please enjoy the content as it is but keep in mind the main goal of the data you can find here is purely a personal &amp;quot;memory clearing&amp;quot; about things i would like to remember.&lt;br /&gt;
it is not necessarily the expression of my opinion.&lt;br /&gt;
There is no political or reliable information here for you. &lt;br /&gt;
Theses pages are only saved all along my readings, viewing and experiences.&lt;br /&gt;
&lt;br /&gt;
You can contact me by e-mail: romain.dalichamp@free.fr&lt;br /&gt;
Or througth one of theses following links:&lt;br /&gt;
* Site Pro: [http://romain.dalichamp.fr romain.dalichamp.fr]&lt;br /&gt;
* LinkedIn : [http://www.linkedin.com/in/romaindalichamp linkedin.com/in/romaindalichamp]&lt;br /&gt;
* Viadeo : [http://www.viadeo.com/fr/profile/romain.dalichamp viadeo.com/fr/profile/romain.dalichamp]&lt;br /&gt;
* Monster: [http://www.monster.ca monster.ca]&lt;br /&gt;
* Blogging Voyage : [http://www.mylimbictrip.fr mylimbictrip.fr]&lt;br /&gt;
* Instagram: [http://www.instagram.com/mylimbictrip instagram.com/mylimbictrip]&lt;br /&gt;
* Facebook : [http://www.facebook.com/mylimbictrip facebook.com/mylimbictrip]&lt;br /&gt;
* Twitter : [https://twitter.com/ @mylimbictrip]&lt;br /&gt;
* Blogging Sciences &amp;amp; Technologies : [http://blog-romain.dalichamp.fr blog-romain.dalichamp.fr]&lt;br /&gt;
* Wiki : [http://romain.dalichamp.fr/wiki romain.dalichamp.fr/wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you&lt;br /&gt;
&lt;br /&gt;
Romain&lt;br /&gt;
&lt;br /&gt;
=Bien être=&lt;br /&gt;
===Méditation===&lt;br /&gt;
* [[Méditation, les bases]]&lt;br /&gt;
* [[Meditation (Bernard Werberd)]]&lt;br /&gt;
* [[Méditation Guidée]]&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
* [[General knowledge about the human body]]&lt;br /&gt;
* [[Course a pied]]&lt;br /&gt;
* [[WOD]]&lt;br /&gt;
&lt;br /&gt;
===Alimentation===&lt;br /&gt;
* [[LifeStyle]]: Everyday Food, les bons reflexes&lt;br /&gt;
* [[Alimentation du sport]]&lt;br /&gt;
* [[Alimentation du cerveau]]&lt;br /&gt;
&lt;br /&gt;
===Everyday skills===&lt;br /&gt;
* [[Se couper les cheveux]]&lt;br /&gt;
&lt;br /&gt;
=Influences=&lt;br /&gt;
* [[Influences]]&lt;br /&gt;
&lt;br /&gt;
=Permis=&lt;br /&gt;
* [[Permis moto A2 en France]]&lt;br /&gt;
* [[Permis moto 6A au Canada]]&lt;br /&gt;
* [[Permis moto Canada et équivalences avec la France]]&lt;br /&gt;
* [[Bateau - Côtier]]&lt;br /&gt;
* [[Bateau - Fluvial]]&lt;br /&gt;
&lt;br /&gt;
=Ecologie (en cours)=&lt;br /&gt;
* [[Ecologie]]&lt;br /&gt;
&lt;br /&gt;
=Professionnel=&lt;br /&gt;
* [https://linuxfr.org/users/fredx/journaux/ce-qu-on-demande-a-un-developpeur-aujourd-hui Ce qu&#039;on demande à un développeur aujourd&#039;hui]&lt;br /&gt;
&lt;br /&gt;
==Tech Lead==&lt;br /&gt;
* [[Rôles et Responsabilités du Tech Lead]]&lt;br /&gt;
* [[Connaissances Techniques utiles au Tech Lead]]&lt;br /&gt;
&lt;br /&gt;
==Devops==&lt;br /&gt;
* [[AWS Certified Developer Associate]]&lt;br /&gt;
* [[Installer et Configurer SonarQube sur AWS]]&lt;br /&gt;
* [[Certificats Signés via Cerbot et LetsEncrypt]]&lt;br /&gt;
&lt;br /&gt;
==Interviews==&lt;br /&gt;
* [[Interview for a position]]&lt;br /&gt;
* [[Pre-Employment tests]]&lt;br /&gt;
* [[About Programation]]&lt;br /&gt;
* [[GAFAM Interviews]]&lt;br /&gt;
** Resume&lt;br /&gt;
** [[LeetCode]]&lt;br /&gt;
** Best books about Java&lt;br /&gt;
*** [https://drive.google.com/file/d/17HIzI6O78Fl2dLvn9qFsS972s6QZM3Wj/view?usp=drive_link Designing Data-Intensive Applications] &lt;br /&gt;
*** [[Designing Data-Intensive Applications, 2nd Edition]]&lt;br /&gt;
*** [[Effective Java 2nd Edition]]&lt;br /&gt;
*** [[Clean Code]]&lt;br /&gt;
** Techs&lt;br /&gt;
** Fun screen&lt;br /&gt;
** Loop&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
* [[About Programation|About Programming]]&lt;br /&gt;
* [[About Algorithm]]&lt;br /&gt;
* [[Licences]]&lt;br /&gt;
* [[About Tests]]&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java]]&lt;br /&gt;
* [[Code Reviews - Seniors|Code Reviews]]&lt;br /&gt;
* [[Oracle Certification Associate 1Z0-808]]&lt;br /&gt;
* [[Tests Unitaires]]&lt;br /&gt;
&lt;br /&gt;
====Specificities====&lt;br /&gt;
* [[Java - Lambdas]]&lt;br /&gt;
* [[Java - Streams]]&lt;br /&gt;
* [[Java - Date Time]]&lt;br /&gt;
* [[Java - Maven]]&lt;br /&gt;
* [[Java - JUnit]]&lt;br /&gt;
* [[Java - Mockito]]&lt;br /&gt;
* [[Java - Multiple Inheritance]]&lt;br /&gt;
&lt;br /&gt;
====Spring====&lt;br /&gt;
About Spring Data: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Boot]]&lt;br /&gt;
** [[Hibernate with Spring Boot]]&lt;br /&gt;
** [[View Resolvers with Spring Boot]]&lt;br /&gt;
* [[MicroServices with Spring]]&lt;br /&gt;
* [[Spring JDBC]]&lt;br /&gt;
* [[Spring AOP]]&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
=== Java EE ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java EE]]&lt;br /&gt;
&lt;br /&gt;
=== Autres Langages ===&lt;br /&gt;
* [[About Android]] (en cours)&lt;br /&gt;
* [[About Javascript]]&lt;br /&gt;
* [[About Angular]] (en cours)&lt;br /&gt;
* [[About Arduino]] (en cours)&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
* [[SCRUM]]&lt;br /&gt;
* [[Continuous integration]]&lt;br /&gt;
** [[Jenkins]]&lt;br /&gt;
* [[Continuous Testing]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
* [[Java - Design Pattern - Proxy]]&lt;br /&gt;
* [[Java - Design Pattern - Multiple Inheritance]]&lt;br /&gt;
* [[Java - Design Pattern - Singleton]]&lt;br /&gt;
* [[Java - Design Pattern - Inversion of Control]]&lt;br /&gt;
&lt;br /&gt;
===Case===&lt;br /&gt;
&lt;br /&gt;
[[file:case.png| 200px]]&lt;br /&gt;
&lt;br /&gt;
===Owasp: Open Web Application Security Project===&lt;br /&gt;
&lt;br /&gt;
TOP 10: https://owasp.org/www-project-top-ten/&lt;br /&gt;
&lt;br /&gt;
=[[Apprendre à parler une langue]] (en cours)=&lt;br /&gt;
* [[Apprendre à parler Francais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Anglais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Espagnol]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Arabe]] (en cours)&lt;br /&gt;
=Interaction Sociales=&lt;br /&gt;
* [[Avoir de la répartie]] (en cours)&lt;br /&gt;
* [[Argumenter et convaincre]] (en cours)&lt;br /&gt;
* [[Speech elevator]] (en cours)&lt;br /&gt;
&lt;br /&gt;
= Cool Websites =&lt;br /&gt;
* [[Live Maps]]&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
* TV&lt;br /&gt;
** [https://famelack.com/ca/ famelack.com] - All free TV channels around the world&lt;br /&gt;
* Phone&lt;br /&gt;
** [https://receive-smss.com/ receive-smss.com] - Temporary phone number to receive SMSs&lt;br /&gt;
* Audio&lt;br /&gt;
** [https://www.myinstants.com/fr/index/ca/ myinstants.com] - Buttons with short fun sounds&lt;br /&gt;
* Watch together&lt;br /&gt;
** [https://app.kosmi.io/room/@romaindalic Kosmi.io] - Watch anything together&lt;br /&gt;
* Learn&lt;br /&gt;
** [https://animagraffs.com/ animagraffs.com] - Learn everything in detailed videos&lt;br /&gt;
** [https://www.zygotebody.com/ ZygoteBody] - Human body in 3D&lt;br /&gt;
* Movies&lt;br /&gt;
** [https://shotdeck.com/ shotdeck.com] - search movies by keywords&lt;br /&gt;
* Objects&lt;br /&gt;
** [https://fr.ifixit.com/ fr.ifixit.com] - Fix anything - Instructions&lt;br /&gt;
* Create Applications&lt;br /&gt;
** [https://lovable.dev/ lovable.dev]&lt;br /&gt;
** [https://app.emergent.sh/landing/ app.emergent.sh]&lt;br /&gt;
* Space&lt;br /&gt;
** https://eyes.nasa.gov/apps/solar-system/#/home - Solar System Live&lt;br /&gt;
*** Events&lt;br /&gt;
**** https://eyes.nasa.gov/apps/solar-system/#/sc_new_horizons/events/pluto_flyby?rate=90&amp;amp;time=2015-07-14T10:50:00.000+00:00 - Flyby of Pluto&lt;br /&gt;
**** https://eyes.nasa.gov/apps/solar-system/#/sc_cassini/events/grand_finale?rate=60&amp;amp;time=2017-04-26T08:15:00.000+00:00 - Cassini Grand Finale&lt;br /&gt;
** https://eyes.nasa.gov/apps/asteroids/#/home - Asteroides Live&lt;br /&gt;
** https://eyes.nasa.gov/apps/earth/#/ - Earth&lt;br /&gt;
** https://eyes.nasa.gov/apps/exo/ - Exoplanmets&lt;br /&gt;
** https://eyes.nasa.gov/apps/mars2020/#/home - Rover Landing Simulation on Mars&lt;br /&gt;
** https://eyes.nasa.gov/apps/dsn-now/dsn.html -  All of the missions transmitting data to Earth, live.&lt;br /&gt;
&lt;br /&gt;
=Games=&lt;br /&gt;
* [[Minecraft]]&lt;br /&gt;
* [https://mess.eu.org/ mess.eu.org] - Free Online Minecraft&lt;br /&gt;
&lt;br /&gt;
=Domotique=&lt;br /&gt;
* [[Raspberry PI]]&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
=== Toutes les pages===&lt;br /&gt;
* [http://wiki-romain.dalichamp.fr/Spécial:Toutes_les_pages Liste Complète|Spécial:Toutes_les_pages Liste Complète]&lt;br /&gt;
=== Excel Table to MediaWiki Table ===&lt;br /&gt;
https://tools.wmflabs.org/excel2wiki/index.php&lt;br /&gt;
=== Edit Post ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Help:Formatting#Text formatting markup&lt;br /&gt;
=== Private Wiki ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=BlockChain=&lt;br /&gt;
* [[About Blockchain]]&lt;br /&gt;
* [[Blockchain Python Programming]]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1864</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1864"/>
		<updated>2026-04-06T06:14:57Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Cool Websites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Welcome=&lt;br /&gt;
This MediaWiki plateform is private. All the content is delivered on a public access to allow me  to access and share it easily with friends.&lt;br /&gt;
If you have not be invited, please enjoy the content as it is but keep in mind the main goal of the data you can find here is purely a personal &amp;quot;memory clearing&amp;quot; about things i would like to remember.&lt;br /&gt;
it is not necessarily the expression of my opinion.&lt;br /&gt;
There is no political or reliable information here for you. &lt;br /&gt;
Theses pages are only saved all along my readings, viewing and experiences.&lt;br /&gt;
&lt;br /&gt;
You can contact me by e-mail: romain.dalichamp@free.fr&lt;br /&gt;
Or througth one of theses following links:&lt;br /&gt;
* Site Pro: [http://romain.dalichamp.fr romain.dalichamp.fr]&lt;br /&gt;
* LinkedIn : [http://www.linkedin.com/in/romaindalichamp linkedin.com/in/romaindalichamp]&lt;br /&gt;
* Viadeo : [http://www.viadeo.com/fr/profile/romain.dalichamp viadeo.com/fr/profile/romain.dalichamp]&lt;br /&gt;
* Monster: [http://www.monster.ca monster.ca]&lt;br /&gt;
* Blogging Voyage : [http://www.mylimbictrip.fr mylimbictrip.fr]&lt;br /&gt;
* Instagram: [http://www.instagram.com/mylimbictrip instagram.com/mylimbictrip]&lt;br /&gt;
* Facebook : [http://www.facebook.com/mylimbictrip facebook.com/mylimbictrip]&lt;br /&gt;
* Twitter : [https://twitter.com/ @mylimbictrip]&lt;br /&gt;
* Blogging Sciences &amp;amp; Technologies : [http://blog-romain.dalichamp.fr blog-romain.dalichamp.fr]&lt;br /&gt;
* Wiki : [http://romain.dalichamp.fr/wiki romain.dalichamp.fr/wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you&lt;br /&gt;
&lt;br /&gt;
Romain&lt;br /&gt;
&lt;br /&gt;
=Bien être=&lt;br /&gt;
===Méditation===&lt;br /&gt;
* [[Méditation, les bases]]&lt;br /&gt;
* [[Meditation (Bernard Werberd)]]&lt;br /&gt;
* [[Méditation Guidée]]&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
* [[General knowledge about the human body]]&lt;br /&gt;
* [[Course a pied]]&lt;br /&gt;
* [[WOD]]&lt;br /&gt;
&lt;br /&gt;
===Alimentation===&lt;br /&gt;
* [[LifeStyle]]: Everyday Food, les bons reflexes&lt;br /&gt;
* [[Alimentation du sport]]&lt;br /&gt;
* [[Alimentation du cerveau]]&lt;br /&gt;
&lt;br /&gt;
===Everyday skills===&lt;br /&gt;
* [[Se couper les cheveux]]&lt;br /&gt;
&lt;br /&gt;
=Influences=&lt;br /&gt;
* [[Influences]]&lt;br /&gt;
&lt;br /&gt;
=Permis=&lt;br /&gt;
* [[Permis moto A2 en France]]&lt;br /&gt;
* [[Permis moto 6A au Canada]]&lt;br /&gt;
* [[Permis moto Canada et équivalences avec la France]]&lt;br /&gt;
* [[Bateau - Côtier]]&lt;br /&gt;
* [[Bateau - Fluvial]]&lt;br /&gt;
&lt;br /&gt;
=Ecologie (en cours)=&lt;br /&gt;
* [[Ecologie]]&lt;br /&gt;
&lt;br /&gt;
=Professionnel=&lt;br /&gt;
* [https://linuxfr.org/users/fredx/journaux/ce-qu-on-demande-a-un-developpeur-aujourd-hui Ce qu&#039;on demande à un développeur aujourd&#039;hui]&lt;br /&gt;
&lt;br /&gt;
==Tech Lead==&lt;br /&gt;
* [[Rôles et Responsabilités du Tech Lead]]&lt;br /&gt;
* [[Connaissances Techniques utiles au Tech Lead]]&lt;br /&gt;
&lt;br /&gt;
==Devops==&lt;br /&gt;
* [[AWS Certified Developer Associate]]&lt;br /&gt;
* [[Installer et Configurer SonarQube sur AWS]]&lt;br /&gt;
* [[Certificats Signés via Cerbot et LetsEncrypt]]&lt;br /&gt;
&lt;br /&gt;
==Interviews==&lt;br /&gt;
* [[Interview for a position]]&lt;br /&gt;
* [[Pre-Employment tests]]&lt;br /&gt;
* [[About Programation]]&lt;br /&gt;
* [[GAFAM Interviews]]&lt;br /&gt;
** Resume&lt;br /&gt;
** [[LeetCode]]&lt;br /&gt;
** Best books about Java&lt;br /&gt;
*** [https://drive.google.com/file/d/17HIzI6O78Fl2dLvn9qFsS972s6QZM3Wj/view?usp=drive_link Designing Data-Intensive Applications] &lt;br /&gt;
*** [[Designing Data-Intensive Applications, 2nd Edition]]&lt;br /&gt;
*** [[Effective Java 2nd Edition]]&lt;br /&gt;
*** [[Clean Code]]&lt;br /&gt;
** Techs&lt;br /&gt;
** Fun screen&lt;br /&gt;
** Loop&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
* [[About Programation|About Programming]]&lt;br /&gt;
* [[About Algorithm]]&lt;br /&gt;
* [[Licences]]&lt;br /&gt;
* [[About Tests]]&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java]]&lt;br /&gt;
* [[Code Reviews - Seniors|Code Reviews]]&lt;br /&gt;
* [[Oracle Certification Associate 1Z0-808]]&lt;br /&gt;
* [[Tests Unitaires]]&lt;br /&gt;
&lt;br /&gt;
====Specificities====&lt;br /&gt;
* [[Java - Lambdas]]&lt;br /&gt;
* [[Java - Streams]]&lt;br /&gt;
* [[Java - Date Time]]&lt;br /&gt;
* [[Java - Maven]]&lt;br /&gt;
* [[Java - JUnit]]&lt;br /&gt;
* [[Java - Mockito]]&lt;br /&gt;
* [[Java - Multiple Inheritance]]&lt;br /&gt;
&lt;br /&gt;
====Spring====&lt;br /&gt;
About Spring Data: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Boot]]&lt;br /&gt;
** [[Hibernate with Spring Boot]]&lt;br /&gt;
** [[View Resolvers with Spring Boot]]&lt;br /&gt;
* [[MicroServices with Spring]]&lt;br /&gt;
* [[Spring JDBC]]&lt;br /&gt;
* [[Spring AOP]]&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
=== Java EE ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java EE]]&lt;br /&gt;
&lt;br /&gt;
=== Autres Langages ===&lt;br /&gt;
* [[About Android]] (en cours)&lt;br /&gt;
* [[About Javascript]]&lt;br /&gt;
* [[About Angular]] (en cours)&lt;br /&gt;
* [[About Arduino]] (en cours)&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
* [[SCRUM]]&lt;br /&gt;
* [[Continuous integration]]&lt;br /&gt;
** [[Jenkins]]&lt;br /&gt;
* [[Continuous Testing]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
* [[Java - Design Pattern - Proxy]]&lt;br /&gt;
* [[Java - Design Pattern - Multiple Inheritance]]&lt;br /&gt;
* [[Java - Design Pattern - Singleton]]&lt;br /&gt;
* [[Java - Design Pattern - Inversion of Control]]&lt;br /&gt;
&lt;br /&gt;
===Case===&lt;br /&gt;
&lt;br /&gt;
[[file:case.png| 200px]]&lt;br /&gt;
&lt;br /&gt;
===Owasp: Open Web Application Security Project===&lt;br /&gt;
&lt;br /&gt;
TOP 10: https://owasp.org/www-project-top-ten/&lt;br /&gt;
&lt;br /&gt;
=[[Apprendre à parler une langue]] (en cours)=&lt;br /&gt;
* [[Apprendre à parler Francais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Anglais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Espagnol]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Arabe]] (en cours)&lt;br /&gt;
=Interaction Sociales=&lt;br /&gt;
* [[Avoir de la répartie]] (en cours)&lt;br /&gt;
* [[Argumenter et convaincre]] (en cours)&lt;br /&gt;
* [[Speech elevator]] (en cours)&lt;br /&gt;
&lt;br /&gt;
= Cool Websites =&lt;br /&gt;
* [[Live Maps]]&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
* TV&lt;br /&gt;
** [https://famelack.com/ca/ famelack.com] - All free TV channels around the world&lt;br /&gt;
* Phone&lt;br /&gt;
** [https://receive-smss.com/ receive-smss.com] - Temporary phone number to receive SMSs&lt;br /&gt;
* Audio&lt;br /&gt;
** [https://www.myinstants.com/fr/index/ca/ myinstants.com] - Buttons with short fun sounds&lt;br /&gt;
* Watch together&lt;br /&gt;
** [https://app.kosmi.io/room/@romaindalic Kosmi.io] - Watch anything together&lt;br /&gt;
* Learn&lt;br /&gt;
** [https://animagraffs.com/ animagraffs.com] - Learn everything in detailed videos&lt;br /&gt;
** [https://www.zygotebody.com/ ZygoteBody] - Human body in 3D&lt;br /&gt;
* Movies&lt;br /&gt;
** [https://shotdeck.com/ shotdeck.com] - search movies by keywords&lt;br /&gt;
* Objects&lt;br /&gt;
** [https://fr.ifixit.com/ fr.ifixit.com] - Fix anything - Instructions&lt;br /&gt;
* Create Applications&lt;br /&gt;
** [https://lovable.dev/ lovable.dev]&lt;br /&gt;
** [https://app.emergent.sh/landing/ app.emergent.sh]&lt;br /&gt;
* Space&lt;br /&gt;
** https://eyes.nasa.gov/apps/solar-system/#/home - Solar System Live&lt;br /&gt;
*** Events&lt;br /&gt;
**** https://eyes.nasa.gov/apps/solar-system/#/sc_new_horizons/events/pluto_flyby?rate=90&amp;amp;time=2015-07-14T10:50:00.000+00:00 - Flyby of Pluto&lt;br /&gt;
**** https://eyes.nasa.gov/apps/solar-system/#/sc_cassini/events/grand_finale?rate=60&amp;amp;time=2017-04-26T08:15:00.000+00:00 - Cassini Grand Finale&lt;br /&gt;
** https://eyes.nasa.gov/apps/asteroids/#/home - Asteroides Live&lt;br /&gt;
** https://eyes.nasa.gov/apps/earth/#/ - Earth&lt;br /&gt;
** https://eyes.nasa.gov/apps/exo/ - Exoplanmets&lt;br /&gt;
** https://eyes.nasa.gov/apps/mars2020/#/home - Rover Landing Simulation on Mars&lt;br /&gt;
&lt;br /&gt;
=Games=&lt;br /&gt;
* [[Minecraft]]&lt;br /&gt;
* [https://mess.eu.org/ mess.eu.org] - Free Online Minecraft&lt;br /&gt;
&lt;br /&gt;
=Domotique=&lt;br /&gt;
* [[Raspberry PI]]&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
=== Toutes les pages===&lt;br /&gt;
* [http://wiki-romain.dalichamp.fr/Spécial:Toutes_les_pages Liste Complète|Spécial:Toutes_les_pages Liste Complète]&lt;br /&gt;
=== Excel Table to MediaWiki Table ===&lt;br /&gt;
https://tools.wmflabs.org/excel2wiki/index.php&lt;br /&gt;
=== Edit Post ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Help:Formatting#Text formatting markup&lt;br /&gt;
=== Private Wiki ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=BlockChain=&lt;br /&gt;
* [[About Blockchain]]&lt;br /&gt;
* [[Blockchain Python Programming]]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1863</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1863"/>
		<updated>2026-04-06T05:56:54Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Cool Websites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Welcome=&lt;br /&gt;
This MediaWiki plateform is private. All the content is delivered on a public access to allow me  to access and share it easily with friends.&lt;br /&gt;
If you have not be invited, please enjoy the content as it is but keep in mind the main goal of the data you can find here is purely a personal &amp;quot;memory clearing&amp;quot; about things i would like to remember.&lt;br /&gt;
it is not necessarily the expression of my opinion.&lt;br /&gt;
There is no political or reliable information here for you. &lt;br /&gt;
Theses pages are only saved all along my readings, viewing and experiences.&lt;br /&gt;
&lt;br /&gt;
You can contact me by e-mail: romain.dalichamp@free.fr&lt;br /&gt;
Or througth one of theses following links:&lt;br /&gt;
* Site Pro: [http://romain.dalichamp.fr romain.dalichamp.fr]&lt;br /&gt;
* LinkedIn : [http://www.linkedin.com/in/romaindalichamp linkedin.com/in/romaindalichamp]&lt;br /&gt;
* Viadeo : [http://www.viadeo.com/fr/profile/romain.dalichamp viadeo.com/fr/profile/romain.dalichamp]&lt;br /&gt;
* Monster: [http://www.monster.ca monster.ca]&lt;br /&gt;
* Blogging Voyage : [http://www.mylimbictrip.fr mylimbictrip.fr]&lt;br /&gt;
* Instagram: [http://www.instagram.com/mylimbictrip instagram.com/mylimbictrip]&lt;br /&gt;
* Facebook : [http://www.facebook.com/mylimbictrip facebook.com/mylimbictrip]&lt;br /&gt;
* Twitter : [https://twitter.com/ @mylimbictrip]&lt;br /&gt;
* Blogging Sciences &amp;amp; Technologies : [http://blog-romain.dalichamp.fr blog-romain.dalichamp.fr]&lt;br /&gt;
* Wiki : [http://romain.dalichamp.fr/wiki romain.dalichamp.fr/wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you&lt;br /&gt;
&lt;br /&gt;
Romain&lt;br /&gt;
&lt;br /&gt;
=Bien être=&lt;br /&gt;
===Méditation===&lt;br /&gt;
* [[Méditation, les bases]]&lt;br /&gt;
* [[Meditation (Bernard Werberd)]]&lt;br /&gt;
* [[Méditation Guidée]]&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
* [[General knowledge about the human body]]&lt;br /&gt;
* [[Course a pied]]&lt;br /&gt;
* [[WOD]]&lt;br /&gt;
&lt;br /&gt;
===Alimentation===&lt;br /&gt;
* [[LifeStyle]]: Everyday Food, les bons reflexes&lt;br /&gt;
* [[Alimentation du sport]]&lt;br /&gt;
* [[Alimentation du cerveau]]&lt;br /&gt;
&lt;br /&gt;
===Everyday skills===&lt;br /&gt;
* [[Se couper les cheveux]]&lt;br /&gt;
&lt;br /&gt;
=Influences=&lt;br /&gt;
* [[Influences]]&lt;br /&gt;
&lt;br /&gt;
=Permis=&lt;br /&gt;
* [[Permis moto A2 en France]]&lt;br /&gt;
* [[Permis moto 6A au Canada]]&lt;br /&gt;
* [[Permis moto Canada et équivalences avec la France]]&lt;br /&gt;
* [[Bateau - Côtier]]&lt;br /&gt;
* [[Bateau - Fluvial]]&lt;br /&gt;
&lt;br /&gt;
=Ecologie (en cours)=&lt;br /&gt;
* [[Ecologie]]&lt;br /&gt;
&lt;br /&gt;
=Professionnel=&lt;br /&gt;
* [https://linuxfr.org/users/fredx/journaux/ce-qu-on-demande-a-un-developpeur-aujourd-hui Ce qu&#039;on demande à un développeur aujourd&#039;hui]&lt;br /&gt;
&lt;br /&gt;
==Tech Lead==&lt;br /&gt;
* [[Rôles et Responsabilités du Tech Lead]]&lt;br /&gt;
* [[Connaissances Techniques utiles au Tech Lead]]&lt;br /&gt;
&lt;br /&gt;
==Devops==&lt;br /&gt;
* [[AWS Certified Developer Associate]]&lt;br /&gt;
* [[Installer et Configurer SonarQube sur AWS]]&lt;br /&gt;
* [[Certificats Signés via Cerbot et LetsEncrypt]]&lt;br /&gt;
&lt;br /&gt;
==Interviews==&lt;br /&gt;
* [[Interview for a position]]&lt;br /&gt;
* [[Pre-Employment tests]]&lt;br /&gt;
* [[About Programation]]&lt;br /&gt;
* [[GAFAM Interviews]]&lt;br /&gt;
** Resume&lt;br /&gt;
** [[LeetCode]]&lt;br /&gt;
** Best books about Java&lt;br /&gt;
*** [https://drive.google.com/file/d/17HIzI6O78Fl2dLvn9qFsS972s6QZM3Wj/view?usp=drive_link Designing Data-Intensive Applications] &lt;br /&gt;
*** [[Designing Data-Intensive Applications, 2nd Edition]]&lt;br /&gt;
*** [[Effective Java 2nd Edition]]&lt;br /&gt;
*** [[Clean Code]]&lt;br /&gt;
** Techs&lt;br /&gt;
** Fun screen&lt;br /&gt;
** Loop&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
* [[About Programation|About Programming]]&lt;br /&gt;
* [[About Algorithm]]&lt;br /&gt;
* [[Licences]]&lt;br /&gt;
* [[About Tests]]&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java]]&lt;br /&gt;
* [[Code Reviews - Seniors|Code Reviews]]&lt;br /&gt;
* [[Oracle Certification Associate 1Z0-808]]&lt;br /&gt;
* [[Tests Unitaires]]&lt;br /&gt;
&lt;br /&gt;
====Specificities====&lt;br /&gt;
* [[Java - Lambdas]]&lt;br /&gt;
* [[Java - Streams]]&lt;br /&gt;
* [[Java - Date Time]]&lt;br /&gt;
* [[Java - Maven]]&lt;br /&gt;
* [[Java - JUnit]]&lt;br /&gt;
* [[Java - Mockito]]&lt;br /&gt;
* [[Java - Multiple Inheritance]]&lt;br /&gt;
&lt;br /&gt;
====Spring====&lt;br /&gt;
About Spring Data: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Boot]]&lt;br /&gt;
** [[Hibernate with Spring Boot]]&lt;br /&gt;
** [[View Resolvers with Spring Boot]]&lt;br /&gt;
* [[MicroServices with Spring]]&lt;br /&gt;
* [[Spring JDBC]]&lt;br /&gt;
* [[Spring AOP]]&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
=== Java EE ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java EE]]&lt;br /&gt;
&lt;br /&gt;
=== Autres Langages ===&lt;br /&gt;
* [[About Android]] (en cours)&lt;br /&gt;
* [[About Javascript]]&lt;br /&gt;
* [[About Angular]] (en cours)&lt;br /&gt;
* [[About Arduino]] (en cours)&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
* [[SCRUM]]&lt;br /&gt;
* [[Continuous integration]]&lt;br /&gt;
** [[Jenkins]]&lt;br /&gt;
* [[Continuous Testing]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
* [[Java - Design Pattern - Proxy]]&lt;br /&gt;
* [[Java - Design Pattern - Multiple Inheritance]]&lt;br /&gt;
* [[Java - Design Pattern - Singleton]]&lt;br /&gt;
* [[Java - Design Pattern - Inversion of Control]]&lt;br /&gt;
&lt;br /&gt;
===Case===&lt;br /&gt;
&lt;br /&gt;
[[file:case.png| 200px]]&lt;br /&gt;
&lt;br /&gt;
===Owasp: Open Web Application Security Project===&lt;br /&gt;
&lt;br /&gt;
TOP 10: https://owasp.org/www-project-top-ten/&lt;br /&gt;
&lt;br /&gt;
=[[Apprendre à parler une langue]] (en cours)=&lt;br /&gt;
* [[Apprendre à parler Francais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Anglais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Espagnol]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Arabe]] (en cours)&lt;br /&gt;
=Interaction Sociales=&lt;br /&gt;
* [[Avoir de la répartie]] (en cours)&lt;br /&gt;
* [[Argumenter et convaincre]] (en cours)&lt;br /&gt;
* [[Speech elevator]] (en cours)&lt;br /&gt;
&lt;br /&gt;
= Cool Websites =&lt;br /&gt;
* [[Live Maps]]&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
* TV&lt;br /&gt;
** [https://famelack.com/ca/ famelack.com] - All free TV channels around the world&lt;br /&gt;
* Phone&lt;br /&gt;
** [https://receive-smss.com/ receive-smss.com] - Temporary phone number to receive SMSs&lt;br /&gt;
* Audio&lt;br /&gt;
** [https://www.myinstants.com/fr/index/ca/ myinstants.com] - Buttons with short fun sounds&lt;br /&gt;
* Watch together&lt;br /&gt;
** [https://app.kosmi.io/room/@romaindalic Kosmi.io] - Watch anything together&lt;br /&gt;
* Learn&lt;br /&gt;
** [https://animagraffs.com/ animagraffs.com] - Learn everything in detailed videos&lt;br /&gt;
** [https://www.zygotebody.com/ ZygoteBody] - Human body in 3D&lt;br /&gt;
* Movies&lt;br /&gt;
** [https://shotdeck.com/ shotdeck.com] - search movies by keywords&lt;br /&gt;
* Objects&lt;br /&gt;
** [https://fr.ifixit.com/ fr.ifixit.com] - Fix anything - Instructions&lt;br /&gt;
* Create Applications&lt;br /&gt;
** [https://lovable.dev/ lovable.dev]&lt;br /&gt;
** [https://app.emergent.sh/landing/ app.emergent.sh]&lt;br /&gt;
* Space&lt;br /&gt;
** https://eyes.nasa.gov/apps/solar-system/#/home - Solar System Live&lt;br /&gt;
** https://eyes.nasa.gov/apps/asteroids/#/home - Asteroides Live&lt;br /&gt;
** https://eyes.nasa.gov/apps/earth/#/ - Earth&lt;br /&gt;
** https://eyes.nasa.gov/apps/exo/ - Exoplanmets&lt;br /&gt;
&lt;br /&gt;
=Games=&lt;br /&gt;
* [[Minecraft]]&lt;br /&gt;
* [https://mess.eu.org/ mess.eu.org] - Free Online Minecraft&lt;br /&gt;
&lt;br /&gt;
=Domotique=&lt;br /&gt;
* [[Raspberry PI]]&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
=== Toutes les pages===&lt;br /&gt;
* [http://wiki-romain.dalichamp.fr/Spécial:Toutes_les_pages Liste Complète|Spécial:Toutes_les_pages Liste Complète]&lt;br /&gt;
=== Excel Table to MediaWiki Table ===&lt;br /&gt;
https://tools.wmflabs.org/excel2wiki/index.php&lt;br /&gt;
=== Edit Post ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Help:Formatting#Text formatting markup&lt;br /&gt;
=== Private Wiki ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=BlockChain=&lt;br /&gt;
* [[About Blockchain]]&lt;br /&gt;
* [[Blockchain Python Programming]]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1862</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1862"/>
		<updated>2026-03-09T21:35:47Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Cool Websites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Welcome=&lt;br /&gt;
This MediaWiki plateform is private. All the content is delivered on a public access to allow me  to access and share it easily with friends.&lt;br /&gt;
If you have not be invited, please enjoy the content as it is but keep in mind the main goal of the data you can find here is purely a personal &amp;quot;memory clearing&amp;quot; about things i would like to remember.&lt;br /&gt;
it is not necessarily the expression of my opinion.&lt;br /&gt;
There is no political or reliable information here for you. &lt;br /&gt;
Theses pages are only saved all along my readings, viewing and experiences.&lt;br /&gt;
&lt;br /&gt;
You can contact me by e-mail: romain.dalichamp@free.fr&lt;br /&gt;
Or througth one of theses following links:&lt;br /&gt;
* Site Pro: [http://romain.dalichamp.fr romain.dalichamp.fr]&lt;br /&gt;
* LinkedIn : [http://www.linkedin.com/in/romaindalichamp linkedin.com/in/romaindalichamp]&lt;br /&gt;
* Viadeo : [http://www.viadeo.com/fr/profile/romain.dalichamp viadeo.com/fr/profile/romain.dalichamp]&lt;br /&gt;
* Monster: [http://www.monster.ca monster.ca]&lt;br /&gt;
* Blogging Voyage : [http://www.mylimbictrip.fr mylimbictrip.fr]&lt;br /&gt;
* Instagram: [http://www.instagram.com/mylimbictrip instagram.com/mylimbictrip]&lt;br /&gt;
* Facebook : [http://www.facebook.com/mylimbictrip facebook.com/mylimbictrip]&lt;br /&gt;
* Twitter : [https://twitter.com/ @mylimbictrip]&lt;br /&gt;
* Blogging Sciences &amp;amp; Technologies : [http://blog-romain.dalichamp.fr blog-romain.dalichamp.fr]&lt;br /&gt;
* Wiki : [http://romain.dalichamp.fr/wiki romain.dalichamp.fr/wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you&lt;br /&gt;
&lt;br /&gt;
Romain&lt;br /&gt;
&lt;br /&gt;
=Bien être=&lt;br /&gt;
===Méditation===&lt;br /&gt;
* [[Méditation, les bases]]&lt;br /&gt;
* [[Meditation (Bernard Werberd)]]&lt;br /&gt;
* [[Méditation Guidée]]&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
* [[General knowledge about the human body]]&lt;br /&gt;
* [[Course a pied]]&lt;br /&gt;
* [[WOD]]&lt;br /&gt;
&lt;br /&gt;
===Alimentation===&lt;br /&gt;
* [[LifeStyle]]: Everyday Food, les bons reflexes&lt;br /&gt;
* [[Alimentation du sport]]&lt;br /&gt;
* [[Alimentation du cerveau]]&lt;br /&gt;
&lt;br /&gt;
===Everyday skills===&lt;br /&gt;
* [[Se couper les cheveux]]&lt;br /&gt;
&lt;br /&gt;
=Influences=&lt;br /&gt;
* [[Influences]]&lt;br /&gt;
&lt;br /&gt;
=Permis=&lt;br /&gt;
* [[Permis moto A2 en France]]&lt;br /&gt;
* [[Permis moto 6A au Canada]]&lt;br /&gt;
* [[Permis moto Canada et équivalences avec la France]]&lt;br /&gt;
* [[Bateau - Côtier]]&lt;br /&gt;
* [[Bateau - Fluvial]]&lt;br /&gt;
&lt;br /&gt;
=Ecologie (en cours)=&lt;br /&gt;
* [[Ecologie]]&lt;br /&gt;
&lt;br /&gt;
=Professionnel=&lt;br /&gt;
* [https://linuxfr.org/users/fredx/journaux/ce-qu-on-demande-a-un-developpeur-aujourd-hui Ce qu&#039;on demande à un développeur aujourd&#039;hui]&lt;br /&gt;
&lt;br /&gt;
==Tech Lead==&lt;br /&gt;
* [[Rôles et Responsabilités du Tech Lead]]&lt;br /&gt;
* [[Connaissances Techniques utiles au Tech Lead]]&lt;br /&gt;
&lt;br /&gt;
==Devops==&lt;br /&gt;
* [[AWS Certified Developer Associate]]&lt;br /&gt;
* [[Installer et Configurer SonarQube sur AWS]]&lt;br /&gt;
* [[Certificats Signés via Cerbot et LetsEncrypt]]&lt;br /&gt;
&lt;br /&gt;
==Interviews==&lt;br /&gt;
* [[Interview for a position]]&lt;br /&gt;
* [[Pre-Employment tests]]&lt;br /&gt;
* [[About Programation]]&lt;br /&gt;
* [[GAFAM Interviews]]&lt;br /&gt;
** Resume&lt;br /&gt;
** [[LeetCode]]&lt;br /&gt;
** Best books about Java&lt;br /&gt;
*** [https://drive.google.com/file/d/17HIzI6O78Fl2dLvn9qFsS972s6QZM3Wj/view?usp=drive_link Designing Data-Intensive Applications] &lt;br /&gt;
*** [[Designing Data-Intensive Applications, 2nd Edition]]&lt;br /&gt;
*** [[Effective Java 2nd Edition]]&lt;br /&gt;
*** [[Clean Code]]&lt;br /&gt;
** Techs&lt;br /&gt;
** Fun screen&lt;br /&gt;
** Loop&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
* [[About Programation|About Programming]]&lt;br /&gt;
* [[About Algorithm]]&lt;br /&gt;
* [[Licences]]&lt;br /&gt;
* [[About Tests]]&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java]]&lt;br /&gt;
* [[Code Reviews - Seniors|Code Reviews]]&lt;br /&gt;
* [[Oracle Certification Associate 1Z0-808]]&lt;br /&gt;
* [[Tests Unitaires]]&lt;br /&gt;
&lt;br /&gt;
====Specificities====&lt;br /&gt;
* [[Java - Lambdas]]&lt;br /&gt;
* [[Java - Streams]]&lt;br /&gt;
* [[Java - Date Time]]&lt;br /&gt;
* [[Java - Maven]]&lt;br /&gt;
* [[Java - JUnit]]&lt;br /&gt;
* [[Java - Mockito]]&lt;br /&gt;
* [[Java - Multiple Inheritance]]&lt;br /&gt;
&lt;br /&gt;
====Spring====&lt;br /&gt;
About Spring Data: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Boot]]&lt;br /&gt;
** [[Hibernate with Spring Boot]]&lt;br /&gt;
** [[View Resolvers with Spring Boot]]&lt;br /&gt;
* [[MicroServices with Spring]]&lt;br /&gt;
* [[Spring JDBC]]&lt;br /&gt;
* [[Spring AOP]]&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
=== Java EE ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java EE]]&lt;br /&gt;
&lt;br /&gt;
=== Autres Langages ===&lt;br /&gt;
* [[About Android]] (en cours)&lt;br /&gt;
* [[About Javascript]]&lt;br /&gt;
* [[About Angular]] (en cours)&lt;br /&gt;
* [[About Arduino]] (en cours)&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
* [[SCRUM]]&lt;br /&gt;
* [[Continuous integration]]&lt;br /&gt;
** [[Jenkins]]&lt;br /&gt;
* [[Continuous Testing]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
* [[Java - Design Pattern - Proxy]]&lt;br /&gt;
* [[Java - Design Pattern - Multiple Inheritance]]&lt;br /&gt;
* [[Java - Design Pattern - Singleton]]&lt;br /&gt;
* [[Java - Design Pattern - Inversion of Control]]&lt;br /&gt;
&lt;br /&gt;
===Case===&lt;br /&gt;
&lt;br /&gt;
[[file:case.png| 200px]]&lt;br /&gt;
&lt;br /&gt;
===Owasp: Open Web Application Security Project===&lt;br /&gt;
&lt;br /&gt;
TOP 10: https://owasp.org/www-project-top-ten/&lt;br /&gt;
&lt;br /&gt;
=[[Apprendre à parler une langue]] (en cours)=&lt;br /&gt;
* [[Apprendre à parler Francais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Anglais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Espagnol]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Arabe]] (en cours)&lt;br /&gt;
=Interaction Sociales=&lt;br /&gt;
* [[Avoir de la répartie]] (en cours)&lt;br /&gt;
* [[Argumenter et convaincre]] (en cours)&lt;br /&gt;
* [[Speech elevator]] (en cours)&lt;br /&gt;
&lt;br /&gt;
= Cool Websites =&lt;br /&gt;
* [[Live Maps]]&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
* TV&lt;br /&gt;
** [https://famelack.com/ca/ famelack.com] - All free TV channels around the world&lt;br /&gt;
* Phone&lt;br /&gt;
** [https://receive-smss.com/ receive-smss.com] - Temporary phone number to receive SMSs&lt;br /&gt;
* Audio&lt;br /&gt;
** [https://www.myinstants.com/fr/index/ca/ myinstants.com] - Buttons with short fun sounds&lt;br /&gt;
* Watch together&lt;br /&gt;
** [https://app.kosmi.io/room/@romaindalic Kosmi.io] - Watch anything together&lt;br /&gt;
* Learn&lt;br /&gt;
** [https://animagraffs.com/ animagraffs.com] - Learn everything in detailed videos&lt;br /&gt;
** [https://www.zygotebody.com/ ZygoteBody] - Human body in 3D&lt;br /&gt;
* Movies&lt;br /&gt;
** [https://shotdeck.com/ shotdeck.com] - search movies by keywords&lt;br /&gt;
* Objects&lt;br /&gt;
** [https://fr.ifixit.com/ fr.ifixit.com] - Fix anything - Instructions&lt;br /&gt;
* Create Applications&lt;br /&gt;
** [https://lovable.dev/ lovable.dev]&lt;br /&gt;
** [https://app.emergent.sh/landing/ app.emergent.sh]&lt;br /&gt;
&lt;br /&gt;
=Games=&lt;br /&gt;
* [[Minecraft]]&lt;br /&gt;
* [https://mess.eu.org/ mess.eu.org] - Free Online Minecraft&lt;br /&gt;
&lt;br /&gt;
=Domotique=&lt;br /&gt;
* [[Raspberry PI]]&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
=== Toutes les pages===&lt;br /&gt;
* [http://wiki-romain.dalichamp.fr/Spécial:Toutes_les_pages Liste Complète|Spécial:Toutes_les_pages Liste Complète]&lt;br /&gt;
=== Excel Table to MediaWiki Table ===&lt;br /&gt;
https://tools.wmflabs.org/excel2wiki/index.php&lt;br /&gt;
=== Edit Post ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Help:Formatting#Text formatting markup&lt;br /&gt;
=== Private Wiki ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=BlockChain=&lt;br /&gt;
* [[About Blockchain]]&lt;br /&gt;
* [[Blockchain Python Programming]]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1861</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1861"/>
		<updated>2026-03-09T21:34:00Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Cool Stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Welcome=&lt;br /&gt;
This MediaWiki plateform is private. All the content is delivered on a public access to allow me  to access and share it easily with friends.&lt;br /&gt;
If you have not be invited, please enjoy the content as it is but keep in mind the main goal of the data you can find here is purely a personal &amp;quot;memory clearing&amp;quot; about things i would like to remember.&lt;br /&gt;
it is not necessarily the expression of my opinion.&lt;br /&gt;
There is no political or reliable information here for you. &lt;br /&gt;
Theses pages are only saved all along my readings, viewing and experiences.&lt;br /&gt;
&lt;br /&gt;
You can contact me by e-mail: romain.dalichamp@free.fr&lt;br /&gt;
Or througth one of theses following links:&lt;br /&gt;
* Site Pro: [http://romain.dalichamp.fr romain.dalichamp.fr]&lt;br /&gt;
* LinkedIn : [http://www.linkedin.com/in/romaindalichamp linkedin.com/in/romaindalichamp]&lt;br /&gt;
* Viadeo : [http://www.viadeo.com/fr/profile/romain.dalichamp viadeo.com/fr/profile/romain.dalichamp]&lt;br /&gt;
* Monster: [http://www.monster.ca monster.ca]&lt;br /&gt;
* Blogging Voyage : [http://www.mylimbictrip.fr mylimbictrip.fr]&lt;br /&gt;
* Instagram: [http://www.instagram.com/mylimbictrip instagram.com/mylimbictrip]&lt;br /&gt;
* Facebook : [http://www.facebook.com/mylimbictrip facebook.com/mylimbictrip]&lt;br /&gt;
* Twitter : [https://twitter.com/ @mylimbictrip]&lt;br /&gt;
* Blogging Sciences &amp;amp; Technologies : [http://blog-romain.dalichamp.fr blog-romain.dalichamp.fr]&lt;br /&gt;
* Wiki : [http://romain.dalichamp.fr/wiki romain.dalichamp.fr/wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you&lt;br /&gt;
&lt;br /&gt;
Romain&lt;br /&gt;
&lt;br /&gt;
=Bien être=&lt;br /&gt;
===Méditation===&lt;br /&gt;
* [[Méditation, les bases]]&lt;br /&gt;
* [[Meditation (Bernard Werberd)]]&lt;br /&gt;
* [[Méditation Guidée]]&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
* [[General knowledge about the human body]]&lt;br /&gt;
* [[Course a pied]]&lt;br /&gt;
* [[WOD]]&lt;br /&gt;
&lt;br /&gt;
===Alimentation===&lt;br /&gt;
* [[LifeStyle]]: Everyday Food, les bons reflexes&lt;br /&gt;
* [[Alimentation du sport]]&lt;br /&gt;
* [[Alimentation du cerveau]]&lt;br /&gt;
&lt;br /&gt;
===Everyday skills===&lt;br /&gt;
* [[Se couper les cheveux]]&lt;br /&gt;
&lt;br /&gt;
=Influences=&lt;br /&gt;
* [[Influences]]&lt;br /&gt;
&lt;br /&gt;
=Permis=&lt;br /&gt;
* [[Permis moto A2 en France]]&lt;br /&gt;
* [[Permis moto 6A au Canada]]&lt;br /&gt;
* [[Permis moto Canada et équivalences avec la France]]&lt;br /&gt;
* [[Bateau - Côtier]]&lt;br /&gt;
* [[Bateau - Fluvial]]&lt;br /&gt;
&lt;br /&gt;
=Ecologie (en cours)=&lt;br /&gt;
* [[Ecologie]]&lt;br /&gt;
&lt;br /&gt;
=Professionnel=&lt;br /&gt;
* [https://linuxfr.org/users/fredx/journaux/ce-qu-on-demande-a-un-developpeur-aujourd-hui Ce qu&#039;on demande à un développeur aujourd&#039;hui]&lt;br /&gt;
&lt;br /&gt;
==Tech Lead==&lt;br /&gt;
* [[Rôles et Responsabilités du Tech Lead]]&lt;br /&gt;
* [[Connaissances Techniques utiles au Tech Lead]]&lt;br /&gt;
&lt;br /&gt;
==Devops==&lt;br /&gt;
* [[AWS Certified Developer Associate]]&lt;br /&gt;
* [[Installer et Configurer SonarQube sur AWS]]&lt;br /&gt;
* [[Certificats Signés via Cerbot et LetsEncrypt]]&lt;br /&gt;
&lt;br /&gt;
==Interviews==&lt;br /&gt;
* [[Interview for a position]]&lt;br /&gt;
* [[Pre-Employment tests]]&lt;br /&gt;
* [[About Programation]]&lt;br /&gt;
* [[GAFAM Interviews]]&lt;br /&gt;
** Resume&lt;br /&gt;
** [[LeetCode]]&lt;br /&gt;
** Best books about Java&lt;br /&gt;
*** [https://drive.google.com/file/d/17HIzI6O78Fl2dLvn9qFsS972s6QZM3Wj/view?usp=drive_link Designing Data-Intensive Applications] &lt;br /&gt;
*** [[Designing Data-Intensive Applications, 2nd Edition]]&lt;br /&gt;
*** [[Effective Java 2nd Edition]]&lt;br /&gt;
*** [[Clean Code]]&lt;br /&gt;
** Techs&lt;br /&gt;
** Fun screen&lt;br /&gt;
** Loop&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
* [[About Programation|About Programming]]&lt;br /&gt;
* [[About Algorithm]]&lt;br /&gt;
* [[Licences]]&lt;br /&gt;
* [[About Tests]]&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java]]&lt;br /&gt;
* [[Code Reviews - Seniors|Code Reviews]]&lt;br /&gt;
* [[Oracle Certification Associate 1Z0-808]]&lt;br /&gt;
* [[Tests Unitaires]]&lt;br /&gt;
&lt;br /&gt;
====Specificities====&lt;br /&gt;
* [[Java - Lambdas]]&lt;br /&gt;
* [[Java - Streams]]&lt;br /&gt;
* [[Java - Date Time]]&lt;br /&gt;
* [[Java - Maven]]&lt;br /&gt;
* [[Java - JUnit]]&lt;br /&gt;
* [[Java - Mockito]]&lt;br /&gt;
* [[Java - Multiple Inheritance]]&lt;br /&gt;
&lt;br /&gt;
====Spring====&lt;br /&gt;
About Spring Data: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Boot]]&lt;br /&gt;
** [[Hibernate with Spring Boot]]&lt;br /&gt;
** [[View Resolvers with Spring Boot]]&lt;br /&gt;
* [[MicroServices with Spring]]&lt;br /&gt;
* [[Spring JDBC]]&lt;br /&gt;
* [[Spring AOP]]&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
=== Java EE ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java EE]]&lt;br /&gt;
&lt;br /&gt;
=== Autres Langages ===&lt;br /&gt;
* [[About Android]] (en cours)&lt;br /&gt;
* [[About Javascript]]&lt;br /&gt;
* [[About Angular]] (en cours)&lt;br /&gt;
* [[About Arduino]] (en cours)&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
* [[SCRUM]]&lt;br /&gt;
* [[Continuous integration]]&lt;br /&gt;
** [[Jenkins]]&lt;br /&gt;
* [[Continuous Testing]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
* [[Java - Design Pattern - Proxy]]&lt;br /&gt;
* [[Java - Design Pattern - Multiple Inheritance]]&lt;br /&gt;
* [[Java - Design Pattern - Singleton]]&lt;br /&gt;
* [[Java - Design Pattern - Inversion of Control]]&lt;br /&gt;
&lt;br /&gt;
===Case===&lt;br /&gt;
&lt;br /&gt;
[[file:case.png| 200px]]&lt;br /&gt;
&lt;br /&gt;
===Owasp: Open Web Application Security Project===&lt;br /&gt;
&lt;br /&gt;
TOP 10: https://owasp.org/www-project-top-ten/&lt;br /&gt;
&lt;br /&gt;
=[[Apprendre à parler une langue]] (en cours)=&lt;br /&gt;
* [[Apprendre à parler Francais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Anglais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Espagnol]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Arabe]] (en cours)&lt;br /&gt;
=Interaction Sociales=&lt;br /&gt;
* [[Avoir de la répartie]] (en cours)&lt;br /&gt;
* [[Argumenter et convaincre]] (en cours)&lt;br /&gt;
* [[Speech elevator]] (en cours)&lt;br /&gt;
&lt;br /&gt;
= Cool Websites =&lt;br /&gt;
* [[Live Maps]]&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
* TV&lt;br /&gt;
** [https://famelack.com/ca/ famelack.com] - All free TV channels around the world&lt;br /&gt;
* Phone&lt;br /&gt;
** [https://receive-smss.com/ receive-smss.com] - Temporary phone number to receive SMSs&lt;br /&gt;
* Audio&lt;br /&gt;
** [https://www.myinstants.com/fr/index/ca/ myinstants.com] - Buttons with short fun sounds&lt;br /&gt;
* Watch together&lt;br /&gt;
** [https://app.kosmi.io/room/@romaindalic Kosmi.io] - Watch anything together&lt;br /&gt;
* Learn&lt;br /&gt;
** [https://animagraffs.com/ animagraffs.com] - Learn everything in detailed videos&lt;br /&gt;
** [https://www.zygotebody.com/ ZygoteBody] - Human body in 3D&lt;br /&gt;
* Movies&lt;br /&gt;
** [https://shotdeck.com/ shotdeck.com] - search movies by keywords&lt;br /&gt;
* Objects&lt;br /&gt;
** [https://fr.ifixit.com/ fr.ifixit.com] - Fix anything - Instructions&lt;br /&gt;
&lt;br /&gt;
=Games=&lt;br /&gt;
* [[Minecraft]]&lt;br /&gt;
* [https://mess.eu.org/ mess.eu.org] - Free Online Minecraft&lt;br /&gt;
&lt;br /&gt;
=Domotique=&lt;br /&gt;
* [[Raspberry PI]]&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
=== Toutes les pages===&lt;br /&gt;
* [http://wiki-romain.dalichamp.fr/Spécial:Toutes_les_pages Liste Complète|Spécial:Toutes_les_pages Liste Complète]&lt;br /&gt;
=== Excel Table to MediaWiki Table ===&lt;br /&gt;
https://tools.wmflabs.org/excel2wiki/index.php&lt;br /&gt;
=== Edit Post ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Help:Formatting#Text formatting markup&lt;br /&gt;
=== Private Wiki ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=BlockChain=&lt;br /&gt;
* [[About Blockchain]]&lt;br /&gt;
* [[Blockchain Python Programming]]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1860</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1860"/>
		<updated>2026-03-09T21:24:27Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Games */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Welcome=&lt;br /&gt;
This MediaWiki plateform is private. All the content is delivered on a public access to allow me  to access and share it easily with friends.&lt;br /&gt;
If you have not be invited, please enjoy the content as it is but keep in mind the main goal of the data you can find here is purely a personal &amp;quot;memory clearing&amp;quot; about things i would like to remember.&lt;br /&gt;
it is not necessarily the expression of my opinion.&lt;br /&gt;
There is no political or reliable information here for you. &lt;br /&gt;
Theses pages are only saved all along my readings, viewing and experiences.&lt;br /&gt;
&lt;br /&gt;
You can contact me by e-mail: romain.dalichamp@free.fr&lt;br /&gt;
Or througth one of theses following links:&lt;br /&gt;
* Site Pro: [http://romain.dalichamp.fr romain.dalichamp.fr]&lt;br /&gt;
* LinkedIn : [http://www.linkedin.com/in/romaindalichamp linkedin.com/in/romaindalichamp]&lt;br /&gt;
* Viadeo : [http://www.viadeo.com/fr/profile/romain.dalichamp viadeo.com/fr/profile/romain.dalichamp]&lt;br /&gt;
* Monster: [http://www.monster.ca monster.ca]&lt;br /&gt;
* Blogging Voyage : [http://www.mylimbictrip.fr mylimbictrip.fr]&lt;br /&gt;
* Instagram: [http://www.instagram.com/mylimbictrip instagram.com/mylimbictrip]&lt;br /&gt;
* Facebook : [http://www.facebook.com/mylimbictrip facebook.com/mylimbictrip]&lt;br /&gt;
* Twitter : [https://twitter.com/ @mylimbictrip]&lt;br /&gt;
* Blogging Sciences &amp;amp; Technologies : [http://blog-romain.dalichamp.fr blog-romain.dalichamp.fr]&lt;br /&gt;
* Wiki : [http://romain.dalichamp.fr/wiki romain.dalichamp.fr/wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you&lt;br /&gt;
&lt;br /&gt;
Romain&lt;br /&gt;
&lt;br /&gt;
=Bien être=&lt;br /&gt;
===Méditation===&lt;br /&gt;
* [[Méditation, les bases]]&lt;br /&gt;
* [[Meditation (Bernard Werberd)]]&lt;br /&gt;
* [[Méditation Guidée]]&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
* [[General knowledge about the human body]]&lt;br /&gt;
* [[Course a pied]]&lt;br /&gt;
* [[WOD]]&lt;br /&gt;
&lt;br /&gt;
===Alimentation===&lt;br /&gt;
* [[LifeStyle]]: Everyday Food, les bons reflexes&lt;br /&gt;
* [[Alimentation du sport]]&lt;br /&gt;
* [[Alimentation du cerveau]]&lt;br /&gt;
&lt;br /&gt;
===Everyday skills===&lt;br /&gt;
* [[Se couper les cheveux]]&lt;br /&gt;
&lt;br /&gt;
=Influences=&lt;br /&gt;
* [[Influences]]&lt;br /&gt;
&lt;br /&gt;
=Permis=&lt;br /&gt;
* [[Permis moto A2 en France]]&lt;br /&gt;
* [[Permis moto 6A au Canada]]&lt;br /&gt;
* [[Permis moto Canada et équivalences avec la France]]&lt;br /&gt;
* [[Bateau - Côtier]]&lt;br /&gt;
* [[Bateau - Fluvial]]&lt;br /&gt;
&lt;br /&gt;
=Ecologie (en cours)=&lt;br /&gt;
* [[Ecologie]]&lt;br /&gt;
&lt;br /&gt;
=Professionnel=&lt;br /&gt;
* [https://linuxfr.org/users/fredx/journaux/ce-qu-on-demande-a-un-developpeur-aujourd-hui Ce qu&#039;on demande à un développeur aujourd&#039;hui]&lt;br /&gt;
&lt;br /&gt;
==Tech Lead==&lt;br /&gt;
* [[Rôles et Responsabilités du Tech Lead]]&lt;br /&gt;
* [[Connaissances Techniques utiles au Tech Lead]]&lt;br /&gt;
&lt;br /&gt;
==Devops==&lt;br /&gt;
* [[AWS Certified Developer Associate]]&lt;br /&gt;
* [[Installer et Configurer SonarQube sur AWS]]&lt;br /&gt;
* [[Certificats Signés via Cerbot et LetsEncrypt]]&lt;br /&gt;
&lt;br /&gt;
==Interviews==&lt;br /&gt;
* [[Interview for a position]]&lt;br /&gt;
* [[Pre-Employment tests]]&lt;br /&gt;
* [[About Programation]]&lt;br /&gt;
* [[GAFAM Interviews]]&lt;br /&gt;
** Resume&lt;br /&gt;
** [[LeetCode]]&lt;br /&gt;
** Best books about Java&lt;br /&gt;
*** [https://drive.google.com/file/d/17HIzI6O78Fl2dLvn9qFsS972s6QZM3Wj/view?usp=drive_link Designing Data-Intensive Applications] &lt;br /&gt;
*** [[Designing Data-Intensive Applications, 2nd Edition]]&lt;br /&gt;
*** [[Effective Java 2nd Edition]]&lt;br /&gt;
*** [[Clean Code]]&lt;br /&gt;
** Techs&lt;br /&gt;
** Fun screen&lt;br /&gt;
** Loop&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
* [[About Programation|About Programming]]&lt;br /&gt;
* [[About Algorithm]]&lt;br /&gt;
* [[Licences]]&lt;br /&gt;
* [[About Tests]]&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java]]&lt;br /&gt;
* [[Code Reviews - Seniors|Code Reviews]]&lt;br /&gt;
* [[Oracle Certification Associate 1Z0-808]]&lt;br /&gt;
* [[Tests Unitaires]]&lt;br /&gt;
&lt;br /&gt;
====Specificities====&lt;br /&gt;
* [[Java - Lambdas]]&lt;br /&gt;
* [[Java - Streams]]&lt;br /&gt;
* [[Java - Date Time]]&lt;br /&gt;
* [[Java - Maven]]&lt;br /&gt;
* [[Java - JUnit]]&lt;br /&gt;
* [[Java - Mockito]]&lt;br /&gt;
* [[Java - Multiple Inheritance]]&lt;br /&gt;
&lt;br /&gt;
====Spring====&lt;br /&gt;
About Spring Data: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Boot]]&lt;br /&gt;
** [[Hibernate with Spring Boot]]&lt;br /&gt;
** [[View Resolvers with Spring Boot]]&lt;br /&gt;
* [[MicroServices with Spring]]&lt;br /&gt;
* [[Spring JDBC]]&lt;br /&gt;
* [[Spring AOP]]&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
=== Java EE ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java EE]]&lt;br /&gt;
&lt;br /&gt;
=== Autres Langages ===&lt;br /&gt;
* [[About Android]] (en cours)&lt;br /&gt;
* [[About Javascript]]&lt;br /&gt;
* [[About Angular]] (en cours)&lt;br /&gt;
* [[About Arduino]] (en cours)&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
* [[SCRUM]]&lt;br /&gt;
* [[Continuous integration]]&lt;br /&gt;
** [[Jenkins]]&lt;br /&gt;
* [[Continuous Testing]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
* [[Java - Design Pattern - Proxy]]&lt;br /&gt;
* [[Java - Design Pattern - Multiple Inheritance]]&lt;br /&gt;
* [[Java - Design Pattern - Singleton]]&lt;br /&gt;
* [[Java - Design Pattern - Inversion of Control]]&lt;br /&gt;
&lt;br /&gt;
===Case===&lt;br /&gt;
&lt;br /&gt;
[[file:case.png| 200px]]&lt;br /&gt;
&lt;br /&gt;
===Owasp: Open Web Application Security Project===&lt;br /&gt;
&lt;br /&gt;
TOP 10: https://owasp.org/www-project-top-ten/&lt;br /&gt;
&lt;br /&gt;
=[[Apprendre à parler une langue]] (en cours)=&lt;br /&gt;
* [[Apprendre à parler Francais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Anglais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Espagnol]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Arabe]] (en cours)&lt;br /&gt;
=Interaction Sociales=&lt;br /&gt;
* [[Avoir de la répartie]] (en cours)&lt;br /&gt;
* [[Argumenter et convaincre]] (en cours)&lt;br /&gt;
* [[Speech elevator]] (en cours)&lt;br /&gt;
&lt;br /&gt;
= Cool Stuff =&lt;br /&gt;
* [[Live Maps]]&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
* TV&lt;br /&gt;
** [https://famelack.com/ca/ famelack.com] - All free TV channels around the world&lt;br /&gt;
* Phone&lt;br /&gt;
** [https://receive-smss.com/ receive-smss.com] - Temporary phone number to receive SMSs&lt;br /&gt;
* Audio&lt;br /&gt;
** [https://www.myinstants.com/fr/index/ca/ myinstants.com] - Buttons with short fun sounds&lt;br /&gt;
* Watch together&lt;br /&gt;
** [https://app.kosmi.io/room/@romaindalic Kosmi.io] - Watch anything together&lt;br /&gt;
* Learn&lt;br /&gt;
** [https://animagraffs.com/ animagraffs.com] - Learn everything in detailed videos&lt;br /&gt;
** [https://www.zygotebody.com/ ZygoteBody] - Human body in 3D&lt;br /&gt;
* Movies&lt;br /&gt;
** [https://shotdeck.com/ shotdeck.com] - search movies by keywords&lt;br /&gt;
&lt;br /&gt;
=Games=&lt;br /&gt;
* [[Minecraft]]&lt;br /&gt;
* [https://mess.eu.org/ mess.eu.org] - Free Online Minecraft&lt;br /&gt;
&lt;br /&gt;
=Domotique=&lt;br /&gt;
* [[Raspberry PI]]&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
=== Toutes les pages===&lt;br /&gt;
* [http://wiki-romain.dalichamp.fr/Spécial:Toutes_les_pages Liste Complète|Spécial:Toutes_les_pages Liste Complète]&lt;br /&gt;
=== Excel Table to MediaWiki Table ===&lt;br /&gt;
https://tools.wmflabs.org/excel2wiki/index.php&lt;br /&gt;
=== Edit Post ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Help:Formatting#Text formatting markup&lt;br /&gt;
=== Private Wiki ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=BlockChain=&lt;br /&gt;
* [[About Blockchain]]&lt;br /&gt;
* [[Blockchain Python Programming]]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1859</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1859"/>
		<updated>2026-03-09T21:19:25Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Cool Stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Welcome=&lt;br /&gt;
This MediaWiki plateform is private. All the content is delivered on a public access to allow me  to access and share it easily with friends.&lt;br /&gt;
If you have not be invited, please enjoy the content as it is but keep in mind the main goal of the data you can find here is purely a personal &amp;quot;memory clearing&amp;quot; about things i would like to remember.&lt;br /&gt;
it is not necessarily the expression of my opinion.&lt;br /&gt;
There is no political or reliable information here for you. &lt;br /&gt;
Theses pages are only saved all along my readings, viewing and experiences.&lt;br /&gt;
&lt;br /&gt;
You can contact me by e-mail: romain.dalichamp@free.fr&lt;br /&gt;
Or througth one of theses following links:&lt;br /&gt;
* Site Pro: [http://romain.dalichamp.fr romain.dalichamp.fr]&lt;br /&gt;
* LinkedIn : [http://www.linkedin.com/in/romaindalichamp linkedin.com/in/romaindalichamp]&lt;br /&gt;
* Viadeo : [http://www.viadeo.com/fr/profile/romain.dalichamp viadeo.com/fr/profile/romain.dalichamp]&lt;br /&gt;
* Monster: [http://www.monster.ca monster.ca]&lt;br /&gt;
* Blogging Voyage : [http://www.mylimbictrip.fr mylimbictrip.fr]&lt;br /&gt;
* Instagram: [http://www.instagram.com/mylimbictrip instagram.com/mylimbictrip]&lt;br /&gt;
* Facebook : [http://www.facebook.com/mylimbictrip facebook.com/mylimbictrip]&lt;br /&gt;
* Twitter : [https://twitter.com/ @mylimbictrip]&lt;br /&gt;
* Blogging Sciences &amp;amp; Technologies : [http://blog-romain.dalichamp.fr blog-romain.dalichamp.fr]&lt;br /&gt;
* Wiki : [http://romain.dalichamp.fr/wiki romain.dalichamp.fr/wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you&lt;br /&gt;
&lt;br /&gt;
Romain&lt;br /&gt;
&lt;br /&gt;
=Bien être=&lt;br /&gt;
===Méditation===&lt;br /&gt;
* [[Méditation, les bases]]&lt;br /&gt;
* [[Meditation (Bernard Werberd)]]&lt;br /&gt;
* [[Méditation Guidée]]&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
* [[General knowledge about the human body]]&lt;br /&gt;
* [[Course a pied]]&lt;br /&gt;
* [[WOD]]&lt;br /&gt;
&lt;br /&gt;
===Alimentation===&lt;br /&gt;
* [[LifeStyle]]: Everyday Food, les bons reflexes&lt;br /&gt;
* [[Alimentation du sport]]&lt;br /&gt;
* [[Alimentation du cerveau]]&lt;br /&gt;
&lt;br /&gt;
===Everyday skills===&lt;br /&gt;
* [[Se couper les cheveux]]&lt;br /&gt;
&lt;br /&gt;
=Influences=&lt;br /&gt;
* [[Influences]]&lt;br /&gt;
&lt;br /&gt;
=Permis=&lt;br /&gt;
* [[Permis moto A2 en France]]&lt;br /&gt;
* [[Permis moto 6A au Canada]]&lt;br /&gt;
* [[Permis moto Canada et équivalences avec la France]]&lt;br /&gt;
* [[Bateau - Côtier]]&lt;br /&gt;
* [[Bateau - Fluvial]]&lt;br /&gt;
&lt;br /&gt;
=Ecologie (en cours)=&lt;br /&gt;
* [[Ecologie]]&lt;br /&gt;
&lt;br /&gt;
=Professionnel=&lt;br /&gt;
* [https://linuxfr.org/users/fredx/journaux/ce-qu-on-demande-a-un-developpeur-aujourd-hui Ce qu&#039;on demande à un développeur aujourd&#039;hui]&lt;br /&gt;
&lt;br /&gt;
==Tech Lead==&lt;br /&gt;
* [[Rôles et Responsabilités du Tech Lead]]&lt;br /&gt;
* [[Connaissances Techniques utiles au Tech Lead]]&lt;br /&gt;
&lt;br /&gt;
==Devops==&lt;br /&gt;
* [[AWS Certified Developer Associate]]&lt;br /&gt;
* [[Installer et Configurer SonarQube sur AWS]]&lt;br /&gt;
* [[Certificats Signés via Cerbot et LetsEncrypt]]&lt;br /&gt;
&lt;br /&gt;
==Interviews==&lt;br /&gt;
* [[Interview for a position]]&lt;br /&gt;
* [[Pre-Employment tests]]&lt;br /&gt;
* [[About Programation]]&lt;br /&gt;
* [[GAFAM Interviews]]&lt;br /&gt;
** Resume&lt;br /&gt;
** [[LeetCode]]&lt;br /&gt;
** Best books about Java&lt;br /&gt;
*** [https://drive.google.com/file/d/17HIzI6O78Fl2dLvn9qFsS972s6QZM3Wj/view?usp=drive_link Designing Data-Intensive Applications] &lt;br /&gt;
*** [[Designing Data-Intensive Applications, 2nd Edition]]&lt;br /&gt;
*** [[Effective Java 2nd Edition]]&lt;br /&gt;
*** [[Clean Code]]&lt;br /&gt;
** Techs&lt;br /&gt;
** Fun screen&lt;br /&gt;
** Loop&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
* [[About Programation|About Programming]]&lt;br /&gt;
* [[About Algorithm]]&lt;br /&gt;
* [[Licences]]&lt;br /&gt;
* [[About Tests]]&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java]]&lt;br /&gt;
* [[Code Reviews - Seniors|Code Reviews]]&lt;br /&gt;
* [[Oracle Certification Associate 1Z0-808]]&lt;br /&gt;
* [[Tests Unitaires]]&lt;br /&gt;
&lt;br /&gt;
====Specificities====&lt;br /&gt;
* [[Java - Lambdas]]&lt;br /&gt;
* [[Java - Streams]]&lt;br /&gt;
* [[Java - Date Time]]&lt;br /&gt;
* [[Java - Maven]]&lt;br /&gt;
* [[Java - JUnit]]&lt;br /&gt;
* [[Java - Mockito]]&lt;br /&gt;
* [[Java - Multiple Inheritance]]&lt;br /&gt;
&lt;br /&gt;
====Spring====&lt;br /&gt;
About Spring Data: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Boot]]&lt;br /&gt;
** [[Hibernate with Spring Boot]]&lt;br /&gt;
** [[View Resolvers with Spring Boot]]&lt;br /&gt;
* [[MicroServices with Spring]]&lt;br /&gt;
* [[Spring JDBC]]&lt;br /&gt;
* [[Spring AOP]]&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
=== Java EE ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java EE]]&lt;br /&gt;
&lt;br /&gt;
=== Autres Langages ===&lt;br /&gt;
* [[About Android]] (en cours)&lt;br /&gt;
* [[About Javascript]]&lt;br /&gt;
* [[About Angular]] (en cours)&lt;br /&gt;
* [[About Arduino]] (en cours)&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
* [[SCRUM]]&lt;br /&gt;
* [[Continuous integration]]&lt;br /&gt;
** [[Jenkins]]&lt;br /&gt;
* [[Continuous Testing]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
* [[Java - Design Pattern - Proxy]]&lt;br /&gt;
* [[Java - Design Pattern - Multiple Inheritance]]&lt;br /&gt;
* [[Java - Design Pattern - Singleton]]&lt;br /&gt;
* [[Java - Design Pattern - Inversion of Control]]&lt;br /&gt;
&lt;br /&gt;
===Case===&lt;br /&gt;
&lt;br /&gt;
[[file:case.png| 200px]]&lt;br /&gt;
&lt;br /&gt;
===Owasp: Open Web Application Security Project===&lt;br /&gt;
&lt;br /&gt;
TOP 10: https://owasp.org/www-project-top-ten/&lt;br /&gt;
&lt;br /&gt;
=[[Apprendre à parler une langue]] (en cours)=&lt;br /&gt;
* [[Apprendre à parler Francais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Anglais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Espagnol]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Arabe]] (en cours)&lt;br /&gt;
=Interaction Sociales=&lt;br /&gt;
* [[Avoir de la répartie]] (en cours)&lt;br /&gt;
* [[Argumenter et convaincre]] (en cours)&lt;br /&gt;
* [[Speech elevator]] (en cours)&lt;br /&gt;
&lt;br /&gt;
= Cool Stuff =&lt;br /&gt;
* [[Live Maps]]&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
* TV&lt;br /&gt;
** [https://famelack.com/ca/ famelack.com] - All free TV channels around the world&lt;br /&gt;
* Phone&lt;br /&gt;
** [https://receive-smss.com/ receive-smss.com] - Temporary phone number to receive SMSs&lt;br /&gt;
* Audio&lt;br /&gt;
** [https://www.myinstants.com/fr/index/ca/ myinstants.com] - Buttons with short fun sounds&lt;br /&gt;
* Watch together&lt;br /&gt;
** [https://app.kosmi.io/room/@romaindalic Kosmi.io] - Watch anything together&lt;br /&gt;
* Learn&lt;br /&gt;
** [https://animagraffs.com/ animagraffs.com] - Learn everything in detailed videos&lt;br /&gt;
** [https://www.zygotebody.com/ ZygoteBody] - Human body in 3D&lt;br /&gt;
* Movies&lt;br /&gt;
** [https://shotdeck.com/ shotdeck.com] - search movies by keywords&lt;br /&gt;
&lt;br /&gt;
=Games=&lt;br /&gt;
* [[Minecraft]]&lt;br /&gt;
&lt;br /&gt;
=Domotique=&lt;br /&gt;
* [[Raspberry PI]]&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
=== Toutes les pages===&lt;br /&gt;
* [http://wiki-romain.dalichamp.fr/Spécial:Toutes_les_pages Liste Complète|Spécial:Toutes_les_pages Liste Complète]&lt;br /&gt;
=== Excel Table to MediaWiki Table ===&lt;br /&gt;
https://tools.wmflabs.org/excel2wiki/index.php&lt;br /&gt;
=== Edit Post ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Help:Formatting#Text formatting markup&lt;br /&gt;
=== Private Wiki ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=BlockChain=&lt;br /&gt;
* [[About Blockchain]]&lt;br /&gt;
* [[Blockchain Python Programming]]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1858</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1858"/>
		<updated>2026-03-09T21:08:34Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Health */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Welcome=&lt;br /&gt;
This MediaWiki plateform is private. All the content is delivered on a public access to allow me  to access and share it easily with friends.&lt;br /&gt;
If you have not be invited, please enjoy the content as it is but keep in mind the main goal of the data you can find here is purely a personal &amp;quot;memory clearing&amp;quot; about things i would like to remember.&lt;br /&gt;
it is not necessarily the expression of my opinion.&lt;br /&gt;
There is no political or reliable information here for you. &lt;br /&gt;
Theses pages are only saved all along my readings, viewing and experiences.&lt;br /&gt;
&lt;br /&gt;
You can contact me by e-mail: romain.dalichamp@free.fr&lt;br /&gt;
Or througth one of theses following links:&lt;br /&gt;
* Site Pro: [http://romain.dalichamp.fr romain.dalichamp.fr]&lt;br /&gt;
* LinkedIn : [http://www.linkedin.com/in/romaindalichamp linkedin.com/in/romaindalichamp]&lt;br /&gt;
* Viadeo : [http://www.viadeo.com/fr/profile/romain.dalichamp viadeo.com/fr/profile/romain.dalichamp]&lt;br /&gt;
* Monster: [http://www.monster.ca monster.ca]&lt;br /&gt;
* Blogging Voyage : [http://www.mylimbictrip.fr mylimbictrip.fr]&lt;br /&gt;
* Instagram: [http://www.instagram.com/mylimbictrip instagram.com/mylimbictrip]&lt;br /&gt;
* Facebook : [http://www.facebook.com/mylimbictrip facebook.com/mylimbictrip]&lt;br /&gt;
* Twitter : [https://twitter.com/ @mylimbictrip]&lt;br /&gt;
* Blogging Sciences &amp;amp; Technologies : [http://blog-romain.dalichamp.fr blog-romain.dalichamp.fr]&lt;br /&gt;
* Wiki : [http://romain.dalichamp.fr/wiki romain.dalichamp.fr/wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you&lt;br /&gt;
&lt;br /&gt;
Romain&lt;br /&gt;
&lt;br /&gt;
=Bien être=&lt;br /&gt;
===Méditation===&lt;br /&gt;
* [[Méditation, les bases]]&lt;br /&gt;
* [[Meditation (Bernard Werberd)]]&lt;br /&gt;
* [[Méditation Guidée]]&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
* [[General knowledge about the human body]]&lt;br /&gt;
* [[Course a pied]]&lt;br /&gt;
* [[WOD]]&lt;br /&gt;
&lt;br /&gt;
===Alimentation===&lt;br /&gt;
* [[LifeStyle]]: Everyday Food, les bons reflexes&lt;br /&gt;
* [[Alimentation du sport]]&lt;br /&gt;
* [[Alimentation du cerveau]]&lt;br /&gt;
&lt;br /&gt;
===Everyday skills===&lt;br /&gt;
* [[Se couper les cheveux]]&lt;br /&gt;
&lt;br /&gt;
=Influences=&lt;br /&gt;
* [[Influences]]&lt;br /&gt;
&lt;br /&gt;
=Permis=&lt;br /&gt;
* [[Permis moto A2 en France]]&lt;br /&gt;
* [[Permis moto 6A au Canada]]&lt;br /&gt;
* [[Permis moto Canada et équivalences avec la France]]&lt;br /&gt;
* [[Bateau - Côtier]]&lt;br /&gt;
* [[Bateau - Fluvial]]&lt;br /&gt;
&lt;br /&gt;
=Ecologie (en cours)=&lt;br /&gt;
* [[Ecologie]]&lt;br /&gt;
&lt;br /&gt;
=Professionnel=&lt;br /&gt;
* [https://linuxfr.org/users/fredx/journaux/ce-qu-on-demande-a-un-developpeur-aujourd-hui Ce qu&#039;on demande à un développeur aujourd&#039;hui]&lt;br /&gt;
&lt;br /&gt;
==Tech Lead==&lt;br /&gt;
* [[Rôles et Responsabilités du Tech Lead]]&lt;br /&gt;
* [[Connaissances Techniques utiles au Tech Lead]]&lt;br /&gt;
&lt;br /&gt;
==Devops==&lt;br /&gt;
* [[AWS Certified Developer Associate]]&lt;br /&gt;
* [[Installer et Configurer SonarQube sur AWS]]&lt;br /&gt;
* [[Certificats Signés via Cerbot et LetsEncrypt]]&lt;br /&gt;
&lt;br /&gt;
==Interviews==&lt;br /&gt;
* [[Interview for a position]]&lt;br /&gt;
* [[Pre-Employment tests]]&lt;br /&gt;
* [[About Programation]]&lt;br /&gt;
* [[GAFAM Interviews]]&lt;br /&gt;
** Resume&lt;br /&gt;
** [[LeetCode]]&lt;br /&gt;
** Best books about Java&lt;br /&gt;
*** [https://drive.google.com/file/d/17HIzI6O78Fl2dLvn9qFsS972s6QZM3Wj/view?usp=drive_link Designing Data-Intensive Applications] &lt;br /&gt;
*** [[Designing Data-Intensive Applications, 2nd Edition]]&lt;br /&gt;
*** [[Effective Java 2nd Edition]]&lt;br /&gt;
*** [[Clean Code]]&lt;br /&gt;
** Techs&lt;br /&gt;
** Fun screen&lt;br /&gt;
** Loop&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
* [[About Programation|About Programming]]&lt;br /&gt;
* [[About Algorithm]]&lt;br /&gt;
* [[Licences]]&lt;br /&gt;
* [[About Tests]]&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java]]&lt;br /&gt;
* [[Code Reviews - Seniors|Code Reviews]]&lt;br /&gt;
* [[Oracle Certification Associate 1Z0-808]]&lt;br /&gt;
* [[Tests Unitaires]]&lt;br /&gt;
&lt;br /&gt;
====Specificities====&lt;br /&gt;
* [[Java - Lambdas]]&lt;br /&gt;
* [[Java - Streams]]&lt;br /&gt;
* [[Java - Date Time]]&lt;br /&gt;
* [[Java - Maven]]&lt;br /&gt;
* [[Java - JUnit]]&lt;br /&gt;
* [[Java - Mockito]]&lt;br /&gt;
* [[Java - Multiple Inheritance]]&lt;br /&gt;
&lt;br /&gt;
====Spring====&lt;br /&gt;
About Spring Data: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Boot]]&lt;br /&gt;
** [[Hibernate with Spring Boot]]&lt;br /&gt;
** [[View Resolvers with Spring Boot]]&lt;br /&gt;
* [[MicroServices with Spring]]&lt;br /&gt;
* [[Spring JDBC]]&lt;br /&gt;
* [[Spring AOP]]&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
=== Java EE ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java EE]]&lt;br /&gt;
&lt;br /&gt;
=== Autres Langages ===&lt;br /&gt;
* [[About Android]] (en cours)&lt;br /&gt;
* [[About Javascript]]&lt;br /&gt;
* [[About Angular]] (en cours)&lt;br /&gt;
* [[About Arduino]] (en cours)&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
* [[SCRUM]]&lt;br /&gt;
* [[Continuous integration]]&lt;br /&gt;
** [[Jenkins]]&lt;br /&gt;
* [[Continuous Testing]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
* [[Java - Design Pattern - Proxy]]&lt;br /&gt;
* [[Java - Design Pattern - Multiple Inheritance]]&lt;br /&gt;
* [[Java - Design Pattern - Singleton]]&lt;br /&gt;
* [[Java - Design Pattern - Inversion of Control]]&lt;br /&gt;
&lt;br /&gt;
===Case===&lt;br /&gt;
&lt;br /&gt;
[[file:case.png| 200px]]&lt;br /&gt;
&lt;br /&gt;
===Owasp: Open Web Application Security Project===&lt;br /&gt;
&lt;br /&gt;
TOP 10: https://owasp.org/www-project-top-ten/&lt;br /&gt;
&lt;br /&gt;
=[[Apprendre à parler une langue]] (en cours)=&lt;br /&gt;
* [[Apprendre à parler Francais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Anglais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Espagnol]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Arabe]] (en cours)&lt;br /&gt;
=Interaction Sociales=&lt;br /&gt;
* [[Avoir de la répartie]] (en cours)&lt;br /&gt;
* [[Argumenter et convaincre]] (en cours)&lt;br /&gt;
* [[Speech elevator]] (en cours)&lt;br /&gt;
&lt;br /&gt;
= Cool Stuff =&lt;br /&gt;
* [[Live Maps]]&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
* TV&lt;br /&gt;
** https://famelack.com/ca/&lt;br /&gt;
* Phone&lt;br /&gt;
** https://receive-smss.com/&lt;br /&gt;
* Audio&lt;br /&gt;
** [https://www.myinstants.com/fr/index/ca/ https://www.myinstants.com/]&lt;br /&gt;
* Watch together&lt;br /&gt;
** [https://app.kosmi.io/room/@romaindalic https://app.kosmi.io/]&lt;br /&gt;
* Learn&lt;br /&gt;
** https://animagraffs.com/&lt;br /&gt;
** [https://www.zygotebody.com/ ZygoteBody]&lt;br /&gt;
&lt;br /&gt;
=Games=&lt;br /&gt;
* [[Minecraft]]&lt;br /&gt;
&lt;br /&gt;
=Domotique=&lt;br /&gt;
* [[Raspberry PI]]&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
=== Toutes les pages===&lt;br /&gt;
* [http://wiki-romain.dalichamp.fr/Spécial:Toutes_les_pages Liste Complète|Spécial:Toutes_les_pages Liste Complète]&lt;br /&gt;
=== Excel Table to MediaWiki Table ===&lt;br /&gt;
https://tools.wmflabs.org/excel2wiki/index.php&lt;br /&gt;
=== Edit Post ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Help:Formatting#Text formatting markup&lt;br /&gt;
=== Private Wiki ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=BlockChain=&lt;br /&gt;
* [[About Blockchain]]&lt;br /&gt;
* [[Blockchain Python Programming]]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1857</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1857"/>
		<updated>2026-03-09T21:08:05Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Cool Stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Welcome=&lt;br /&gt;
This MediaWiki plateform is private. All the content is delivered on a public access to allow me  to access and share it easily with friends.&lt;br /&gt;
If you have not be invited, please enjoy the content as it is but keep in mind the main goal of the data you can find here is purely a personal &amp;quot;memory clearing&amp;quot; about things i would like to remember.&lt;br /&gt;
it is not necessarily the expression of my opinion.&lt;br /&gt;
There is no political or reliable information here for you. &lt;br /&gt;
Theses pages are only saved all along my readings, viewing and experiences.&lt;br /&gt;
&lt;br /&gt;
You can contact me by e-mail: romain.dalichamp@free.fr&lt;br /&gt;
Or througth one of theses following links:&lt;br /&gt;
* Site Pro: [http://romain.dalichamp.fr romain.dalichamp.fr]&lt;br /&gt;
* LinkedIn : [http://www.linkedin.com/in/romaindalichamp linkedin.com/in/romaindalichamp]&lt;br /&gt;
* Viadeo : [http://www.viadeo.com/fr/profile/romain.dalichamp viadeo.com/fr/profile/romain.dalichamp]&lt;br /&gt;
* Monster: [http://www.monster.ca monster.ca]&lt;br /&gt;
* Blogging Voyage : [http://www.mylimbictrip.fr mylimbictrip.fr]&lt;br /&gt;
* Instagram: [http://www.instagram.com/mylimbictrip instagram.com/mylimbictrip]&lt;br /&gt;
* Facebook : [http://www.facebook.com/mylimbictrip facebook.com/mylimbictrip]&lt;br /&gt;
* Twitter : [https://twitter.com/ @mylimbictrip]&lt;br /&gt;
* Blogging Sciences &amp;amp; Technologies : [http://blog-romain.dalichamp.fr blog-romain.dalichamp.fr]&lt;br /&gt;
* Wiki : [http://romain.dalichamp.fr/wiki romain.dalichamp.fr/wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you&lt;br /&gt;
&lt;br /&gt;
Romain&lt;br /&gt;
&lt;br /&gt;
=Bien être=&lt;br /&gt;
===Méditation===&lt;br /&gt;
* [[Méditation, les bases]]&lt;br /&gt;
* [[Meditation (Bernard Werberd)]]&lt;br /&gt;
* [[Méditation Guidée]]&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
* [[General knowledge about the human body]]&lt;br /&gt;
* [[Course a pied]]&lt;br /&gt;
* [[WOD]]&lt;br /&gt;
&lt;br /&gt;
===Alimentation===&lt;br /&gt;
* [[LifeStyle]]: Everyday Food, les bons reflexes&lt;br /&gt;
* [[Alimentation du sport]]&lt;br /&gt;
* [[Alimentation du cerveau]]&lt;br /&gt;
&lt;br /&gt;
===Everyday skills===&lt;br /&gt;
* [[Se couper les cheveux]]&lt;br /&gt;
&lt;br /&gt;
=Influences=&lt;br /&gt;
* [[Influences]]&lt;br /&gt;
&lt;br /&gt;
=Permis=&lt;br /&gt;
* [[Permis moto A2 en France]]&lt;br /&gt;
* [[Permis moto 6A au Canada]]&lt;br /&gt;
* [[Permis moto Canada et équivalences avec la France]]&lt;br /&gt;
* [[Bateau - Côtier]]&lt;br /&gt;
* [[Bateau - Fluvial]]&lt;br /&gt;
&lt;br /&gt;
=Ecologie (en cours)=&lt;br /&gt;
* [[Ecologie]]&lt;br /&gt;
&lt;br /&gt;
=Professionnel=&lt;br /&gt;
* [https://linuxfr.org/users/fredx/journaux/ce-qu-on-demande-a-un-developpeur-aujourd-hui Ce qu&#039;on demande à un développeur aujourd&#039;hui]&lt;br /&gt;
&lt;br /&gt;
==Tech Lead==&lt;br /&gt;
* [[Rôles et Responsabilités du Tech Lead]]&lt;br /&gt;
* [[Connaissances Techniques utiles au Tech Lead]]&lt;br /&gt;
&lt;br /&gt;
==Devops==&lt;br /&gt;
* [[AWS Certified Developer Associate]]&lt;br /&gt;
* [[Installer et Configurer SonarQube sur AWS]]&lt;br /&gt;
* [[Certificats Signés via Cerbot et LetsEncrypt]]&lt;br /&gt;
&lt;br /&gt;
==Interviews==&lt;br /&gt;
* [[Interview for a position]]&lt;br /&gt;
* [[Pre-Employment tests]]&lt;br /&gt;
* [[About Programation]]&lt;br /&gt;
* [[GAFAM Interviews]]&lt;br /&gt;
** Resume&lt;br /&gt;
** [[LeetCode]]&lt;br /&gt;
** Best books about Java&lt;br /&gt;
*** [https://drive.google.com/file/d/17HIzI6O78Fl2dLvn9qFsS972s6QZM3Wj/view?usp=drive_link Designing Data-Intensive Applications] &lt;br /&gt;
*** [[Designing Data-Intensive Applications, 2nd Edition]]&lt;br /&gt;
*** [[Effective Java 2nd Edition]]&lt;br /&gt;
*** [[Clean Code]]&lt;br /&gt;
** Techs&lt;br /&gt;
** Fun screen&lt;br /&gt;
** Loop&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
* [[About Programation|About Programming]]&lt;br /&gt;
* [[About Algorithm]]&lt;br /&gt;
* [[Licences]]&lt;br /&gt;
* [[About Tests]]&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java]]&lt;br /&gt;
* [[Code Reviews - Seniors|Code Reviews]]&lt;br /&gt;
* [[Oracle Certification Associate 1Z0-808]]&lt;br /&gt;
* [[Tests Unitaires]]&lt;br /&gt;
&lt;br /&gt;
====Specificities====&lt;br /&gt;
* [[Java - Lambdas]]&lt;br /&gt;
* [[Java - Streams]]&lt;br /&gt;
* [[Java - Date Time]]&lt;br /&gt;
* [[Java - Maven]]&lt;br /&gt;
* [[Java - JUnit]]&lt;br /&gt;
* [[Java - Mockito]]&lt;br /&gt;
* [[Java - Multiple Inheritance]]&lt;br /&gt;
&lt;br /&gt;
====Spring====&lt;br /&gt;
About Spring Data: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Boot]]&lt;br /&gt;
** [[Hibernate with Spring Boot]]&lt;br /&gt;
** [[View Resolvers with Spring Boot]]&lt;br /&gt;
* [[MicroServices with Spring]]&lt;br /&gt;
* [[Spring JDBC]]&lt;br /&gt;
* [[Spring AOP]]&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
=== Java EE ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java EE]]&lt;br /&gt;
&lt;br /&gt;
=== Autres Langages ===&lt;br /&gt;
* [[About Android]] (en cours)&lt;br /&gt;
* [[About Javascript]]&lt;br /&gt;
* [[About Angular]] (en cours)&lt;br /&gt;
* [[About Arduino]] (en cours)&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
* [[SCRUM]]&lt;br /&gt;
* [[Continuous integration]]&lt;br /&gt;
** [[Jenkins]]&lt;br /&gt;
* [[Continuous Testing]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
* [[Java - Design Pattern - Proxy]]&lt;br /&gt;
* [[Java - Design Pattern - Multiple Inheritance]]&lt;br /&gt;
* [[Java - Design Pattern - Singleton]]&lt;br /&gt;
* [[Java - Design Pattern - Inversion of Control]]&lt;br /&gt;
&lt;br /&gt;
===Case===&lt;br /&gt;
&lt;br /&gt;
[[file:case.png| 200px]]&lt;br /&gt;
&lt;br /&gt;
===Owasp: Open Web Application Security Project===&lt;br /&gt;
&lt;br /&gt;
TOP 10: https://owasp.org/www-project-top-ten/&lt;br /&gt;
&lt;br /&gt;
=[[Apprendre à parler une langue]] (en cours)=&lt;br /&gt;
* [[Apprendre à parler Francais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Anglais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Espagnol]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Arabe]] (en cours)&lt;br /&gt;
=Interaction Sociales=&lt;br /&gt;
* [[Avoir de la répartie]] (en cours)&lt;br /&gt;
* [[Argumenter et convaincre]] (en cours)&lt;br /&gt;
* [[Speech elevator]] (en cours)&lt;br /&gt;
&lt;br /&gt;
= Cool Stuff =&lt;br /&gt;
* [[Live Maps]]&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
* TV&lt;br /&gt;
** https://famelack.com/ca/&lt;br /&gt;
* Phone&lt;br /&gt;
** https://receive-smss.com/&lt;br /&gt;
* Audio&lt;br /&gt;
** [https://www.myinstants.com/fr/index/ca/ https://www.myinstants.com/]&lt;br /&gt;
* Watch together&lt;br /&gt;
** [https://app.kosmi.io/room/@romaindalic https://app.kosmi.io/]&lt;br /&gt;
* Learn&lt;br /&gt;
** https://animagraffs.com/&lt;br /&gt;
&lt;br /&gt;
=Games=&lt;br /&gt;
* [[Minecraft]]&lt;br /&gt;
&lt;br /&gt;
=Health=&lt;br /&gt;
* [https://www.zygotebody.com/ ZygoteBody]&lt;br /&gt;
&lt;br /&gt;
=Domotique=&lt;br /&gt;
* [[Raspberry PI]]&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
=== Toutes les pages===&lt;br /&gt;
* [http://wiki-romain.dalichamp.fr/Spécial:Toutes_les_pages Liste Complète|Spécial:Toutes_les_pages Liste Complète]&lt;br /&gt;
=== Excel Table to MediaWiki Table ===&lt;br /&gt;
https://tools.wmflabs.org/excel2wiki/index.php&lt;br /&gt;
=== Edit Post ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Help:Formatting#Text formatting markup&lt;br /&gt;
=== Private Wiki ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=BlockChain=&lt;br /&gt;
* [[About Blockchain]]&lt;br /&gt;
* [[Blockchain Python Programming]]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1856</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1856"/>
		<updated>2026-03-09T21:04:41Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Cool Stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Welcome=&lt;br /&gt;
This MediaWiki plateform is private. All the content is delivered on a public access to allow me  to access and share it easily with friends.&lt;br /&gt;
If you have not be invited, please enjoy the content as it is but keep in mind the main goal of the data you can find here is purely a personal &amp;quot;memory clearing&amp;quot; about things i would like to remember.&lt;br /&gt;
it is not necessarily the expression of my opinion.&lt;br /&gt;
There is no political or reliable information here for you. &lt;br /&gt;
Theses pages are only saved all along my readings, viewing and experiences.&lt;br /&gt;
&lt;br /&gt;
You can contact me by e-mail: romain.dalichamp@free.fr&lt;br /&gt;
Or througth one of theses following links:&lt;br /&gt;
* Site Pro: [http://romain.dalichamp.fr romain.dalichamp.fr]&lt;br /&gt;
* LinkedIn : [http://www.linkedin.com/in/romaindalichamp linkedin.com/in/romaindalichamp]&lt;br /&gt;
* Viadeo : [http://www.viadeo.com/fr/profile/romain.dalichamp viadeo.com/fr/profile/romain.dalichamp]&lt;br /&gt;
* Monster: [http://www.monster.ca monster.ca]&lt;br /&gt;
* Blogging Voyage : [http://www.mylimbictrip.fr mylimbictrip.fr]&lt;br /&gt;
* Instagram: [http://www.instagram.com/mylimbictrip instagram.com/mylimbictrip]&lt;br /&gt;
* Facebook : [http://www.facebook.com/mylimbictrip facebook.com/mylimbictrip]&lt;br /&gt;
* Twitter : [https://twitter.com/ @mylimbictrip]&lt;br /&gt;
* Blogging Sciences &amp;amp; Technologies : [http://blog-romain.dalichamp.fr blog-romain.dalichamp.fr]&lt;br /&gt;
* Wiki : [http://romain.dalichamp.fr/wiki romain.dalichamp.fr/wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you&lt;br /&gt;
&lt;br /&gt;
Romain&lt;br /&gt;
&lt;br /&gt;
=Bien être=&lt;br /&gt;
===Méditation===&lt;br /&gt;
* [[Méditation, les bases]]&lt;br /&gt;
* [[Meditation (Bernard Werberd)]]&lt;br /&gt;
* [[Méditation Guidée]]&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
* [[General knowledge about the human body]]&lt;br /&gt;
* [[Course a pied]]&lt;br /&gt;
* [[WOD]]&lt;br /&gt;
&lt;br /&gt;
===Alimentation===&lt;br /&gt;
* [[LifeStyle]]: Everyday Food, les bons reflexes&lt;br /&gt;
* [[Alimentation du sport]]&lt;br /&gt;
* [[Alimentation du cerveau]]&lt;br /&gt;
&lt;br /&gt;
===Everyday skills===&lt;br /&gt;
* [[Se couper les cheveux]]&lt;br /&gt;
&lt;br /&gt;
=Influences=&lt;br /&gt;
* [[Influences]]&lt;br /&gt;
&lt;br /&gt;
=Permis=&lt;br /&gt;
* [[Permis moto A2 en France]]&lt;br /&gt;
* [[Permis moto 6A au Canada]]&lt;br /&gt;
* [[Permis moto Canada et équivalences avec la France]]&lt;br /&gt;
* [[Bateau - Côtier]]&lt;br /&gt;
* [[Bateau - Fluvial]]&lt;br /&gt;
&lt;br /&gt;
=Ecologie (en cours)=&lt;br /&gt;
* [[Ecologie]]&lt;br /&gt;
&lt;br /&gt;
=Professionnel=&lt;br /&gt;
* [https://linuxfr.org/users/fredx/journaux/ce-qu-on-demande-a-un-developpeur-aujourd-hui Ce qu&#039;on demande à un développeur aujourd&#039;hui]&lt;br /&gt;
&lt;br /&gt;
==Tech Lead==&lt;br /&gt;
* [[Rôles et Responsabilités du Tech Lead]]&lt;br /&gt;
* [[Connaissances Techniques utiles au Tech Lead]]&lt;br /&gt;
&lt;br /&gt;
==Devops==&lt;br /&gt;
* [[AWS Certified Developer Associate]]&lt;br /&gt;
* [[Installer et Configurer SonarQube sur AWS]]&lt;br /&gt;
* [[Certificats Signés via Cerbot et LetsEncrypt]]&lt;br /&gt;
&lt;br /&gt;
==Interviews==&lt;br /&gt;
* [[Interview for a position]]&lt;br /&gt;
* [[Pre-Employment tests]]&lt;br /&gt;
* [[About Programation]]&lt;br /&gt;
* [[GAFAM Interviews]]&lt;br /&gt;
** Resume&lt;br /&gt;
** [[LeetCode]]&lt;br /&gt;
** Best books about Java&lt;br /&gt;
*** [https://drive.google.com/file/d/17HIzI6O78Fl2dLvn9qFsS972s6QZM3Wj/view?usp=drive_link Designing Data-Intensive Applications] &lt;br /&gt;
*** [[Designing Data-Intensive Applications, 2nd Edition]]&lt;br /&gt;
*** [[Effective Java 2nd Edition]]&lt;br /&gt;
*** [[Clean Code]]&lt;br /&gt;
** Techs&lt;br /&gt;
** Fun screen&lt;br /&gt;
** Loop&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
* [[About Programation|About Programming]]&lt;br /&gt;
* [[About Algorithm]]&lt;br /&gt;
* [[Licences]]&lt;br /&gt;
* [[About Tests]]&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java]]&lt;br /&gt;
* [[Code Reviews - Seniors|Code Reviews]]&lt;br /&gt;
* [[Oracle Certification Associate 1Z0-808]]&lt;br /&gt;
* [[Tests Unitaires]]&lt;br /&gt;
&lt;br /&gt;
====Specificities====&lt;br /&gt;
* [[Java - Lambdas]]&lt;br /&gt;
* [[Java - Streams]]&lt;br /&gt;
* [[Java - Date Time]]&lt;br /&gt;
* [[Java - Maven]]&lt;br /&gt;
* [[Java - JUnit]]&lt;br /&gt;
* [[Java - Mockito]]&lt;br /&gt;
* [[Java - Multiple Inheritance]]&lt;br /&gt;
&lt;br /&gt;
====Spring====&lt;br /&gt;
About Spring Data: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Boot]]&lt;br /&gt;
** [[Hibernate with Spring Boot]]&lt;br /&gt;
** [[View Resolvers with Spring Boot]]&lt;br /&gt;
* [[MicroServices with Spring]]&lt;br /&gt;
* [[Spring JDBC]]&lt;br /&gt;
* [[Spring AOP]]&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
=== Java EE ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java EE]]&lt;br /&gt;
&lt;br /&gt;
=== Autres Langages ===&lt;br /&gt;
* [[About Android]] (en cours)&lt;br /&gt;
* [[About Javascript]]&lt;br /&gt;
* [[About Angular]] (en cours)&lt;br /&gt;
* [[About Arduino]] (en cours)&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
* [[SCRUM]]&lt;br /&gt;
* [[Continuous integration]]&lt;br /&gt;
** [[Jenkins]]&lt;br /&gt;
* [[Continuous Testing]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
* [[Java - Design Pattern - Proxy]]&lt;br /&gt;
* [[Java - Design Pattern - Multiple Inheritance]]&lt;br /&gt;
* [[Java - Design Pattern - Singleton]]&lt;br /&gt;
* [[Java - Design Pattern - Inversion of Control]]&lt;br /&gt;
&lt;br /&gt;
===Case===&lt;br /&gt;
&lt;br /&gt;
[[file:case.png| 200px]]&lt;br /&gt;
&lt;br /&gt;
===Owasp: Open Web Application Security Project===&lt;br /&gt;
&lt;br /&gt;
TOP 10: https://owasp.org/www-project-top-ten/&lt;br /&gt;
&lt;br /&gt;
=[[Apprendre à parler une langue]] (en cours)=&lt;br /&gt;
* [[Apprendre à parler Francais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Anglais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Espagnol]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Arabe]] (en cours)&lt;br /&gt;
=Interaction Sociales=&lt;br /&gt;
* [[Avoir de la répartie]] (en cours)&lt;br /&gt;
* [[Argumenter et convaincre]] (en cours)&lt;br /&gt;
* [[Speech elevator]] (en cours)&lt;br /&gt;
&lt;br /&gt;
= Cool Stuff =&lt;br /&gt;
* [[Live Maps]]&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
* TV&lt;br /&gt;
** https://famelack.com/ca/&lt;br /&gt;
* Phone&lt;br /&gt;
** https://receive-smss.com/&lt;br /&gt;
* Audio&lt;br /&gt;
** [https://www.myinstants.com/fr/index/ca/ https://www.myinstants.com/]&lt;br /&gt;
* Watch together&lt;br /&gt;
** [https://app.kosmi.io/room/@romaindalic https://app.kosmi.io/]&lt;br /&gt;
&lt;br /&gt;
=Games=&lt;br /&gt;
* [[Minecraft]]&lt;br /&gt;
&lt;br /&gt;
=Health=&lt;br /&gt;
* [https://www.zygotebody.com/ ZygoteBody]&lt;br /&gt;
&lt;br /&gt;
=Domotique=&lt;br /&gt;
* [[Raspberry PI]]&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
=== Toutes les pages===&lt;br /&gt;
* [http://wiki-romain.dalichamp.fr/Spécial:Toutes_les_pages Liste Complète|Spécial:Toutes_les_pages Liste Complète]&lt;br /&gt;
=== Excel Table to MediaWiki Table ===&lt;br /&gt;
https://tools.wmflabs.org/excel2wiki/index.php&lt;br /&gt;
=== Edit Post ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Help:Formatting#Text formatting markup&lt;br /&gt;
=== Private Wiki ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=BlockChain=&lt;br /&gt;
* [[About Blockchain]]&lt;br /&gt;
* [[Blockchain Python Programming]]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1855</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1855"/>
		<updated>2026-03-09T20:32:52Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Welcome=&lt;br /&gt;
This MediaWiki plateform is private. All the content is delivered on a public access to allow me  to access and share it easily with friends.&lt;br /&gt;
If you have not be invited, please enjoy the content as it is but keep in mind the main goal of the data you can find here is purely a personal &amp;quot;memory clearing&amp;quot; about things i would like to remember.&lt;br /&gt;
it is not necessarily the expression of my opinion.&lt;br /&gt;
There is no political or reliable information here for you. &lt;br /&gt;
Theses pages are only saved all along my readings, viewing and experiences.&lt;br /&gt;
&lt;br /&gt;
You can contact me by e-mail: romain.dalichamp@free.fr&lt;br /&gt;
Or througth one of theses following links:&lt;br /&gt;
* Site Pro: [http://romain.dalichamp.fr romain.dalichamp.fr]&lt;br /&gt;
* LinkedIn : [http://www.linkedin.com/in/romaindalichamp linkedin.com/in/romaindalichamp]&lt;br /&gt;
* Viadeo : [http://www.viadeo.com/fr/profile/romain.dalichamp viadeo.com/fr/profile/romain.dalichamp]&lt;br /&gt;
* Monster: [http://www.monster.ca monster.ca]&lt;br /&gt;
* Blogging Voyage : [http://www.mylimbictrip.fr mylimbictrip.fr]&lt;br /&gt;
* Instagram: [http://www.instagram.com/mylimbictrip instagram.com/mylimbictrip]&lt;br /&gt;
* Facebook : [http://www.facebook.com/mylimbictrip facebook.com/mylimbictrip]&lt;br /&gt;
* Twitter : [https://twitter.com/ @mylimbictrip]&lt;br /&gt;
* Blogging Sciences &amp;amp; Technologies : [http://blog-romain.dalichamp.fr blog-romain.dalichamp.fr]&lt;br /&gt;
* Wiki : [http://romain.dalichamp.fr/wiki romain.dalichamp.fr/wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you&lt;br /&gt;
&lt;br /&gt;
Romain&lt;br /&gt;
&lt;br /&gt;
=Bien être=&lt;br /&gt;
===Méditation===&lt;br /&gt;
* [[Méditation, les bases]]&lt;br /&gt;
* [[Meditation (Bernard Werberd)]]&lt;br /&gt;
* [[Méditation Guidée]]&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
* [[General knowledge about the human body]]&lt;br /&gt;
* [[Course a pied]]&lt;br /&gt;
* [[WOD]]&lt;br /&gt;
&lt;br /&gt;
===Alimentation===&lt;br /&gt;
* [[LifeStyle]]: Everyday Food, les bons reflexes&lt;br /&gt;
* [[Alimentation du sport]]&lt;br /&gt;
* [[Alimentation du cerveau]]&lt;br /&gt;
&lt;br /&gt;
===Everyday skills===&lt;br /&gt;
* [[Se couper les cheveux]]&lt;br /&gt;
&lt;br /&gt;
=Influences=&lt;br /&gt;
* [[Influences]]&lt;br /&gt;
&lt;br /&gt;
=Permis=&lt;br /&gt;
* [[Permis moto A2 en France]]&lt;br /&gt;
* [[Permis moto 6A au Canada]]&lt;br /&gt;
* [[Permis moto Canada et équivalences avec la France]]&lt;br /&gt;
* [[Bateau - Côtier]]&lt;br /&gt;
* [[Bateau - Fluvial]]&lt;br /&gt;
&lt;br /&gt;
=Ecologie (en cours)=&lt;br /&gt;
* [[Ecologie]]&lt;br /&gt;
&lt;br /&gt;
=Professionnel=&lt;br /&gt;
* [https://linuxfr.org/users/fredx/journaux/ce-qu-on-demande-a-un-developpeur-aujourd-hui Ce qu&#039;on demande à un développeur aujourd&#039;hui]&lt;br /&gt;
&lt;br /&gt;
==Tech Lead==&lt;br /&gt;
* [[Rôles et Responsabilités du Tech Lead]]&lt;br /&gt;
* [[Connaissances Techniques utiles au Tech Lead]]&lt;br /&gt;
&lt;br /&gt;
==Devops==&lt;br /&gt;
* [[AWS Certified Developer Associate]]&lt;br /&gt;
* [[Installer et Configurer SonarQube sur AWS]]&lt;br /&gt;
* [[Certificats Signés via Cerbot et LetsEncrypt]]&lt;br /&gt;
&lt;br /&gt;
==Interviews==&lt;br /&gt;
* [[Interview for a position]]&lt;br /&gt;
* [[Pre-Employment tests]]&lt;br /&gt;
* [[About Programation]]&lt;br /&gt;
* [[GAFAM Interviews]]&lt;br /&gt;
** Resume&lt;br /&gt;
** [[LeetCode]]&lt;br /&gt;
** Best books about Java&lt;br /&gt;
*** [https://drive.google.com/file/d/17HIzI6O78Fl2dLvn9qFsS972s6QZM3Wj/view?usp=drive_link Designing Data-Intensive Applications] &lt;br /&gt;
*** [[Designing Data-Intensive Applications, 2nd Edition]]&lt;br /&gt;
*** [[Effective Java 2nd Edition]]&lt;br /&gt;
*** [[Clean Code]]&lt;br /&gt;
** Techs&lt;br /&gt;
** Fun screen&lt;br /&gt;
** Loop&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
* [[About Programation|About Programming]]&lt;br /&gt;
* [[About Algorithm]]&lt;br /&gt;
* [[Licences]]&lt;br /&gt;
* [[About Tests]]&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java]]&lt;br /&gt;
* [[Code Reviews - Seniors|Code Reviews]]&lt;br /&gt;
* [[Oracle Certification Associate 1Z0-808]]&lt;br /&gt;
* [[Tests Unitaires]]&lt;br /&gt;
&lt;br /&gt;
====Specificities====&lt;br /&gt;
* [[Java - Lambdas]]&lt;br /&gt;
* [[Java - Streams]]&lt;br /&gt;
* [[Java - Date Time]]&lt;br /&gt;
* [[Java - Maven]]&lt;br /&gt;
* [[Java - JUnit]]&lt;br /&gt;
* [[Java - Mockito]]&lt;br /&gt;
* [[Java - Multiple Inheritance]]&lt;br /&gt;
&lt;br /&gt;
====Spring====&lt;br /&gt;
About Spring Data: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Boot]]&lt;br /&gt;
** [[Hibernate with Spring Boot]]&lt;br /&gt;
** [[View Resolvers with Spring Boot]]&lt;br /&gt;
* [[MicroServices with Spring]]&lt;br /&gt;
* [[Spring JDBC]]&lt;br /&gt;
* [[Spring AOP]]&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
=== Java EE ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java EE]]&lt;br /&gt;
&lt;br /&gt;
=== Autres Langages ===&lt;br /&gt;
* [[About Android]] (en cours)&lt;br /&gt;
* [[About Javascript]]&lt;br /&gt;
* [[About Angular]] (en cours)&lt;br /&gt;
* [[About Arduino]] (en cours)&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
* [[SCRUM]]&lt;br /&gt;
* [[Continuous integration]]&lt;br /&gt;
** [[Jenkins]]&lt;br /&gt;
* [[Continuous Testing]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
* [[Java - Design Pattern - Proxy]]&lt;br /&gt;
* [[Java - Design Pattern - Multiple Inheritance]]&lt;br /&gt;
* [[Java - Design Pattern - Singleton]]&lt;br /&gt;
* [[Java - Design Pattern - Inversion of Control]]&lt;br /&gt;
&lt;br /&gt;
===Case===&lt;br /&gt;
&lt;br /&gt;
[[file:case.png| 200px]]&lt;br /&gt;
&lt;br /&gt;
===Owasp: Open Web Application Security Project===&lt;br /&gt;
&lt;br /&gt;
TOP 10: https://owasp.org/www-project-top-ten/&lt;br /&gt;
&lt;br /&gt;
=[[Apprendre à parler une langue]] (en cours)=&lt;br /&gt;
* [[Apprendre à parler Francais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Anglais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Espagnol]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Arabe]] (en cours)&lt;br /&gt;
=Interaction Sociales=&lt;br /&gt;
* [[Avoir de la répartie]] (en cours)&lt;br /&gt;
* [[Argumenter et convaincre]] (en cours)&lt;br /&gt;
* [[Speech elevator]] (en cours)&lt;br /&gt;
&lt;br /&gt;
= Cool Stuff =&lt;br /&gt;
* [[Live Maps]]&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
* TV&lt;br /&gt;
** https://famelack.com/ca/&lt;br /&gt;
* Phone&lt;br /&gt;
** https://receive-smss.com/&lt;br /&gt;
&lt;br /&gt;
=Games=&lt;br /&gt;
* [[Minecraft]]&lt;br /&gt;
&lt;br /&gt;
=Health=&lt;br /&gt;
* [https://www.zygotebody.com/ ZygoteBody]&lt;br /&gt;
&lt;br /&gt;
=Domotique=&lt;br /&gt;
* [[Raspberry PI]]&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
=== Toutes les pages===&lt;br /&gt;
* [http://wiki-romain.dalichamp.fr/Spécial:Toutes_les_pages Liste Complète|Spécial:Toutes_les_pages Liste Complète]&lt;br /&gt;
=== Excel Table to MediaWiki Table ===&lt;br /&gt;
https://tools.wmflabs.org/excel2wiki/index.php&lt;br /&gt;
=== Edit Post ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Help:Formatting#Text formatting markup&lt;br /&gt;
=== Private Wiki ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=BlockChain=&lt;br /&gt;
* [[About Blockchain]]&lt;br /&gt;
* [[Blockchain Python Programming]]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1854</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1854"/>
		<updated>2026-03-09T20:29:49Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Cool Stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Welcome=&lt;br /&gt;
This MediaWiki plateform is private. All the content is delivered on a public access to allow me  to access and share it easily with friends.&lt;br /&gt;
If you have not be invited, please enjoy the content as it is but keep in mind the main goal of the data you can find here is purely a personal &amp;quot;memory clearing&amp;quot; about things i would like to remember.&lt;br /&gt;
it is not necessarily the expression of my opinion.&lt;br /&gt;
There is no political or reliable information here for you. &lt;br /&gt;
Theses pages are only saved all along my readings, viewing and experiences.&lt;br /&gt;
&lt;br /&gt;
You can contact me by e-mail: romain.dalichamp@free.fr&lt;br /&gt;
Or througth one of theses following links:&lt;br /&gt;
* Site Pro: [http://romain.dalichamp.fr romain.dalichamp.fr]&lt;br /&gt;
* LinkedIn : [http://www.linkedin.com/in/romaindalichamp linkedin.com/in/romaindalichamp]&lt;br /&gt;
* Viadeo : [http://www.viadeo.com/fr/profile/romain.dalichamp viadeo.com/fr/profile/romain.dalichamp]&lt;br /&gt;
* Monster: [http://www.monster.ca monster.ca]&lt;br /&gt;
* Blogging Voyage : [http://www.mylimbictrip.fr mylimbictrip.fr]&lt;br /&gt;
* Instagram: [http://www.instagram.com/mylimbictrip instagram.com/mylimbictrip]&lt;br /&gt;
* Facebook : [http://www.facebook.com/mylimbictrip facebook.com/mylimbictrip]&lt;br /&gt;
* Twitter : [https://twitter.com/ @mylimbictrip]&lt;br /&gt;
* Blogging Sciences &amp;amp; Technologies : [http://blog-romain.dalichamp.fr blog-romain.dalichamp.fr]&lt;br /&gt;
* Wiki : [http://romain.dalichamp.fr/wiki romain.dalichamp.fr/wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you&lt;br /&gt;
&lt;br /&gt;
Romain&lt;br /&gt;
&lt;br /&gt;
=Bien être=&lt;br /&gt;
===Méditation===&lt;br /&gt;
* [[Méditation, les bases]]&lt;br /&gt;
* [[Meditation (Bernard Werberd)]]&lt;br /&gt;
* [[Méditation Guidée]]&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
* [[General knowledge about the human body]]&lt;br /&gt;
* [[Course a pied]]&lt;br /&gt;
* [[WOD]]&lt;br /&gt;
&lt;br /&gt;
===Alimentation===&lt;br /&gt;
* [[LifeStyle]]: Everyday Food, les bons reflexes&lt;br /&gt;
* [[Alimentation du sport]]&lt;br /&gt;
* [[Alimentation du cerveau]]&lt;br /&gt;
&lt;br /&gt;
===Everyday skills===&lt;br /&gt;
* [[Se couper les cheveux]]&lt;br /&gt;
&lt;br /&gt;
=Influences=&lt;br /&gt;
* [[Influences]]&lt;br /&gt;
&lt;br /&gt;
=Permis=&lt;br /&gt;
* [[Permis moto A2 en France]]&lt;br /&gt;
* [[Permis moto 6A au Canada]]&lt;br /&gt;
* [[Permis moto Canada et équivalences avec la France]]&lt;br /&gt;
* [[Bateau - Côtier]]&lt;br /&gt;
* [[Bateau - Fluvial]]&lt;br /&gt;
&lt;br /&gt;
=Ecologie (en cours)=&lt;br /&gt;
* [[Ecologie]]&lt;br /&gt;
&lt;br /&gt;
=Professionnel=&lt;br /&gt;
* [https://linuxfr.org/users/fredx/journaux/ce-qu-on-demande-a-un-developpeur-aujourd-hui Ce qu&#039;on demande à un développeur aujourd&#039;hui]&lt;br /&gt;
&lt;br /&gt;
==Tech Lead==&lt;br /&gt;
* [[Rôles et Responsabilités du Tech Lead]]&lt;br /&gt;
* [[Connaissances Techniques utiles au Tech Lead]]&lt;br /&gt;
&lt;br /&gt;
==Devops==&lt;br /&gt;
* [[AWS Certified Developer Associate]]&lt;br /&gt;
* [[Installer et Configurer SonarQube sur AWS]]&lt;br /&gt;
* [[Certificats Signés via Cerbot et LetsEncrypt]]&lt;br /&gt;
&lt;br /&gt;
==Interviews==&lt;br /&gt;
* [[Interview for a position]]&lt;br /&gt;
* [[Pre-Employment tests]]&lt;br /&gt;
* [[About Programation]]&lt;br /&gt;
* [[GAFAM Interviews]]&lt;br /&gt;
** Resume&lt;br /&gt;
** [[LeetCode]]&lt;br /&gt;
** Best books about Java&lt;br /&gt;
*** [https://drive.google.com/file/d/17HIzI6O78Fl2dLvn9qFsS972s6QZM3Wj/view?usp=drive_link Designing Data-Intensive Applications] &lt;br /&gt;
*** [[Designing Data-Intensive Applications, 2nd Edition]]&lt;br /&gt;
*** [[Effective Java 2nd Edition]]&lt;br /&gt;
*** [[Clean Code]]&lt;br /&gt;
** Techs&lt;br /&gt;
** Fun screen&lt;br /&gt;
** Loop&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
* [[About Programation|About Programming]]&lt;br /&gt;
* [[About Algorithm]]&lt;br /&gt;
* [[Licences]]&lt;br /&gt;
* [[About Tests]]&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java]]&lt;br /&gt;
* [[Code Reviews - Seniors|Code Reviews]]&lt;br /&gt;
* [[Oracle Certification Associate 1Z0-808]]&lt;br /&gt;
* [[Tests Unitaires]]&lt;br /&gt;
&lt;br /&gt;
====Specificities====&lt;br /&gt;
* [[Java - Lambdas]]&lt;br /&gt;
* [[Java - Streams]]&lt;br /&gt;
* [[Java - Date Time]]&lt;br /&gt;
* [[Java - Maven]]&lt;br /&gt;
* [[Java - JUnit]]&lt;br /&gt;
* [[Java - Mockito]]&lt;br /&gt;
* [[Java - Multiple Inheritance]]&lt;br /&gt;
&lt;br /&gt;
====Spring====&lt;br /&gt;
About Spring Data: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Boot]]&lt;br /&gt;
** [[Hibernate with Spring Boot]]&lt;br /&gt;
** [[View Resolvers with Spring Boot]]&lt;br /&gt;
* [[MicroServices with Spring]]&lt;br /&gt;
* [[Spring JDBC]]&lt;br /&gt;
* [[Spring AOP]]&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
=== Java EE ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java EE]]&lt;br /&gt;
&lt;br /&gt;
=== Autres Langages ===&lt;br /&gt;
* [[About Android]] (en cours)&lt;br /&gt;
* [[About Javascript]]&lt;br /&gt;
* [[About Angular]] (en cours)&lt;br /&gt;
* [[About Arduino]] (en cours)&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
* [[SCRUM]]&lt;br /&gt;
* [[Continuous integration]]&lt;br /&gt;
** [[Jenkins]]&lt;br /&gt;
* [[Continuous Testing]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
* [[Java - Design Pattern - Proxy]]&lt;br /&gt;
* [[Java - Design Pattern - Multiple Inheritance]]&lt;br /&gt;
* [[Java - Design Pattern - Singleton]]&lt;br /&gt;
* [[Java - Design Pattern - Inversion of Control]]&lt;br /&gt;
&lt;br /&gt;
===Case===&lt;br /&gt;
&lt;br /&gt;
[[file:case.png| 200px]]&lt;br /&gt;
&lt;br /&gt;
===Owasp: Open Web Application Security Project===&lt;br /&gt;
&lt;br /&gt;
TOP 10: https://owasp.org/www-project-top-ten/&lt;br /&gt;
&lt;br /&gt;
=[[Apprendre à parler une langue]] (en cours)=&lt;br /&gt;
* [[Apprendre à parler Francais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Anglais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Espagnol]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Arabe]] (en cours)&lt;br /&gt;
=Interaction Sociales=&lt;br /&gt;
* [[Avoir de la répartie]] (en cours)&lt;br /&gt;
* [[Argumenter et convaincre]] (en cours)&lt;br /&gt;
* [[Speech elevator]] (en cours)&lt;br /&gt;
&lt;br /&gt;
= Cool Stuff =&lt;br /&gt;
* [[Live Maps]]&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
* TV&lt;br /&gt;
** https://famelack.com/ca/&lt;br /&gt;
&lt;br /&gt;
=Games=&lt;br /&gt;
* [[Minecraft]]&lt;br /&gt;
&lt;br /&gt;
=Health=&lt;br /&gt;
* [https://www.zygotebody.com/ ZygoteBody]&lt;br /&gt;
&lt;br /&gt;
=Domotique=&lt;br /&gt;
* [[Raspberry PI]]&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
=== Toutes les pages===&lt;br /&gt;
* [http://wiki-romain.dalichamp.fr/Spécial:Toutes_les_pages Liste Complète|Spécial:Toutes_les_pages Liste Complète]&lt;br /&gt;
=== Excel Table to MediaWiki Table ===&lt;br /&gt;
https://tools.wmflabs.org/excel2wiki/index.php&lt;br /&gt;
=== Edit Post ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Help:Formatting#Text formatting markup&lt;br /&gt;
=== Private Wiki ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=BlockChain=&lt;br /&gt;
* [[About Blockchain]]&lt;br /&gt;
* [[Blockchain Python Programming]]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1853</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1853"/>
		<updated>2025-10-10T03:43:38Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Counting Bits - (LeetCode) - ans[i] = ans[i &amp;gt;&amp;gt; 1] + (i &amp;amp; 1); */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use &#039;&#039;&#039;Set/Hashet for unique values&#039;&#039;&#039; [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use &#039;&#039;&#039;Math.max(int,int)&#039;&#039;&#039; to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
* &#039;&#039;&#039;(a &amp;amp; b) &amp;lt;&amp;lt; 1&#039;&#039;&#039; - is to carry&lt;br /&gt;
=Array=&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        // Calculate left product&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Calculate right product&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right. ====&lt;br /&gt;
* Find the pivot&lt;br /&gt;
* Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;3 Sum&#039;&#039;&#039; - ([https://leetcode.com/problems/3sum/ LeetCode]) - fix a value, use left and right pointers ====&lt;br /&gt;
&lt;br /&gt;
* Sort the array first !&lt;br /&gt;
* Fix I as length-2&lt;br /&gt;
* skip duplicates for I&lt;br /&gt;
* Move left and right pointers to match 0&lt;br /&gt;
* if one is found, skip duplicates and continue to search for other match&lt;br /&gt;
* if left &amp;amp; right pointers are equal, continue with a new I&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public List&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; threeSum(int[] nums) {&lt;br /&gt;
        Arrays.sort(nums);&lt;br /&gt;
        Set&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; results = new HashSet&amp;lt;&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
        for(int i = 0; i &amp;lt; nums.length - 2; i++){&lt;br /&gt;
            // Skip duplicates for fixed element&lt;br /&gt;
            if (i &amp;gt; 0 &amp;amp;&amp;amp; nums[i] == nums [i - 1]) continue;&lt;br /&gt;
&lt;br /&gt;
            int pointerLeft = i + 1;&lt;br /&gt;
            int pointerRight = nums.length -1;&lt;br /&gt;
&lt;br /&gt;
            while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
                int sum = nums[pointerLeft] + nums[i] + nums[pointerRight];&lt;br /&gt;
                &lt;br /&gt;
                if(sum == 0){&lt;br /&gt;
                    // Got one !&lt;br /&gt;
                    results.add(Arrays.asList(nums[pointerLeft], nums[i], nums[pointerRight]));&lt;br /&gt;
&lt;br /&gt;
                    // Skip duplicates for left and right pointers&lt;br /&gt;
                    while(pointerLeft &amp;lt; pointerRight &amp;amp;&amp;amp; nums[pointerLeft] == nums[pointerLeft + 1]){ pointerLeft++; }&lt;br /&gt;
                    while(pointerRight &amp;gt; pointerLeft &amp;amp;&amp;amp; nums[pointerRight] == nums[pointerRight - 1]){ pointerRight--; }&lt;br /&gt;
&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }else if (sum &amp;lt; 0){&lt;br /&gt;
                    // Sum is too small, move left pointer to try to increase the sum&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                }else{&lt;br /&gt;
                    // Sum is too small, move right pointer to try to increase the sum&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return new ArrayList&amp;lt;&amp;gt;(results);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&#039;&#039;&#039;Two-Pointer Approach&#039;&#039;&#039; - ([https://leetcode.com/problems/container-with-most-water/ LeetCode]) - Calculate the area and move pointers&lt;br /&gt;
&lt;br /&gt;
* Calculate the area&lt;br /&gt;
* Move pointers&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int maxArea(int[] height) {&lt;br /&gt;
        int maxArea = 0;&lt;br /&gt;
        int pointerLeft = 0;&lt;br /&gt;
        int pointerRight = height.length - 1;&lt;br /&gt;
&lt;br /&gt;
        while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
            // Keep the lowest height to calculate the area for those two pointers&lt;br /&gt;
            int minHeight = Math.min(height[pointerLeft], height[pointerRight]);&lt;br /&gt;
            int area = minHeight * (pointerRight - pointerLeft);&lt;br /&gt;
&lt;br /&gt;
            maxArea = Math.max(area, maxArea); &lt;br /&gt;
&lt;br /&gt;
            if (height[pointerLeft] &amp;lt; height[pointerRight]) {&lt;br /&gt;
                pointerLeft++;&lt;br /&gt;
            } else {&lt;br /&gt;
                pointerRight--;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return maxArea;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Binary ==&lt;br /&gt;
&lt;br /&gt;
=== Sum of Two Integers - ([https://leetcode.com/problems/sum-of-two-integers/ LeetCode]) -  &#039;&#039;&#039;int carry = (a &amp;amp; b) &amp;lt;&amp;lt; 1;&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* Store the carry&lt;br /&gt;
* Get the rest&lt;br /&gt;
&lt;br /&gt;
Think about this story: 2 bags of coins are emptied on a table. The overlapping pieces are carried in B. The rest is stored in A&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int getSum(int a, int b) {&lt;br /&gt;
        while (b != 0) {&lt;br /&gt;
            int carry = (a &amp;amp; b) &amp;lt;&amp;lt; 1; &lt;br /&gt;
            a = a ^ b;&lt;br /&gt;
            b = carry;&lt;br /&gt;
        }&lt;br /&gt;
        return a;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Number of 1 bits - [https://leetcode.com/problems/number-of-1-bits/ (LeetCode)] - &#039;&#039;&#039;if ((n &amp;amp; mask) != 0)&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* The equivalent of a pointer in an array is here a Mask, we move it using &amp;lt;&amp;lt;= 1 to the next bit&lt;br /&gt;
* And continue to 32 bits as it is mentioned in the exercise.&lt;br /&gt;
* &amp;amp; is a binary AND&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int hammingWeight(int n) {&lt;br /&gt;
        int bits = 0;&lt;br /&gt;
        int mask = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; 32; i++) {&lt;br /&gt;
            if ((n &amp;amp; mask) != 0) {&lt;br /&gt;
                bits++;&lt;br /&gt;
            }&lt;br /&gt;
            mask &amp;lt;&amp;lt;= 1;&lt;br /&gt;
        }&lt;br /&gt;
        return bits;&lt;br /&gt;
    }&lt;br /&gt;
//     public int hammingWeight(int n) {&lt;br /&gt;
//         return Integer.bitCount(n);&lt;br /&gt;
//     }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Counting Bits - ([https://leetcode.com/problems/counting-bits/description/ LeetCode]) - &#039;&#039;&#039;ans[i] = ans[i &amp;gt;&amp;gt; 1] + (i &amp;amp; 1);&#039;&#039;&#039; ===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] countBits(int n) {&lt;br /&gt;
        int[] ans = new int[n + 1];&lt;br /&gt;
&lt;br /&gt;
        for(int i = 0; i &amp;lt;= n; i++){&lt;br /&gt;
            // The number of set bits in &#039;i&#039; is calculated based on a previous result.&lt;br /&gt;
            //&lt;br /&gt;
            // i &amp;gt;&amp;gt; 1: This is a bitwise right shift, equivalent to integer division by 2 (i / 2).&lt;br /&gt;
            // It gives us the number &#039;i&#039; with its last bit removed. The bit count for this&lt;br /&gt;
            // smaller number, ans[i &amp;gt;&amp;gt; 1], has already been computed.&lt;br /&gt;
            //&lt;br /&gt;
            // i &amp;amp; 1: This is a bitwise AND with 1, equivalent to the modulo operator (i % 2).&lt;br /&gt;
            // It gives us the value of the last bit of &#039;i&#039;. It&#039;s 1 if &#039;i&#039; is odd, 0 if &#039;i&#039; is even.&lt;br /&gt;
            //&lt;br /&gt;
            // So, ans[i] = (bits in the first part of i) + (the last bit of i).&lt;br /&gt;
            ans[i] = ans[i &amp;gt;&amp;gt; 1] + (i &amp;amp; 1);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return ans;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bit Manipulation - [https://leetcode.com/problems/missing-number/ Missing Number] - &#039;&#039;&#039;xorNums ^= nums[i] ^ i;&#039;&#039;&#039;   ===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int missingNumber(int[] nums) {&lt;br /&gt;
        int xorNums = nums.length;&lt;br /&gt;
&lt;br /&gt;
        for(int i=0; i &amp;lt; nums.length; i++){&lt;br /&gt;
            xorNums ^= nums[i] ^ i;   &lt;br /&gt;
        }&lt;br /&gt;
        return xorNums;&lt;br /&gt;
    }&lt;br /&gt;
    // public int missingNumber(int[] nums) {&lt;br /&gt;
    //     Arrays.sort(nums);&lt;br /&gt;
    //     for(int i=0; i &amp;lt; nums.length; i++){&lt;br /&gt;
    //         if(i!=nums[i]) return i;   &lt;br /&gt;
    //     }&lt;br /&gt;
    //     return nums.length;&lt;br /&gt;
    // }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1852</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1852"/>
		<updated>2025-10-07T03:36:09Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Number of 1 bits - (LeetCode) - if ((n &amp;amp; mask) != 0) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use &#039;&#039;&#039;Set/Hashet for unique values&#039;&#039;&#039; [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use &#039;&#039;&#039;Math.max(int,int)&#039;&#039;&#039; to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
* &#039;&#039;&#039;(a &amp;amp; b) &amp;lt;&amp;lt; 1&#039;&#039;&#039; - is to carry&lt;br /&gt;
=Array=&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        // Calculate left product&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Calculate right product&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right. ====&lt;br /&gt;
* Find the pivot&lt;br /&gt;
* Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;3 Sum&#039;&#039;&#039; - ([https://leetcode.com/problems/3sum/ LeetCode]) - fix a value, use left and right pointers ====&lt;br /&gt;
&lt;br /&gt;
* Sort the array first !&lt;br /&gt;
* Fix I as length-2&lt;br /&gt;
* skip duplicates for I&lt;br /&gt;
* Move left and right pointers to match 0&lt;br /&gt;
* if one is found, skip duplicates and continue to search for other match&lt;br /&gt;
* if left &amp;amp; right pointers are equal, continue with a new I&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public List&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; threeSum(int[] nums) {&lt;br /&gt;
        Arrays.sort(nums);&lt;br /&gt;
        Set&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; results = new HashSet&amp;lt;&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
        for(int i = 0; i &amp;lt; nums.length - 2; i++){&lt;br /&gt;
            // Skip duplicates for fixed element&lt;br /&gt;
            if (i &amp;gt; 0 &amp;amp;&amp;amp; nums[i] == nums [i - 1]) continue;&lt;br /&gt;
&lt;br /&gt;
            int pointerLeft = i + 1;&lt;br /&gt;
            int pointerRight = nums.length -1;&lt;br /&gt;
&lt;br /&gt;
            while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
                int sum = nums[pointerLeft] + nums[i] + nums[pointerRight];&lt;br /&gt;
                &lt;br /&gt;
                if(sum == 0){&lt;br /&gt;
                    // Got one !&lt;br /&gt;
                    results.add(Arrays.asList(nums[pointerLeft], nums[i], nums[pointerRight]));&lt;br /&gt;
&lt;br /&gt;
                    // Skip duplicates for left and right pointers&lt;br /&gt;
                    while(pointerLeft &amp;lt; pointerRight &amp;amp;&amp;amp; nums[pointerLeft] == nums[pointerLeft + 1]){ pointerLeft++; }&lt;br /&gt;
                    while(pointerRight &amp;gt; pointerLeft &amp;amp;&amp;amp; nums[pointerRight] == nums[pointerRight - 1]){ pointerRight--; }&lt;br /&gt;
&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }else if (sum &amp;lt; 0){&lt;br /&gt;
                    // Sum is too small, move left pointer to try to increase the sum&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                }else{&lt;br /&gt;
                    // Sum is too small, move right pointer to try to increase the sum&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return new ArrayList&amp;lt;&amp;gt;(results);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&#039;&#039;&#039;Two-Pointer Approach&#039;&#039;&#039; - ([https://leetcode.com/problems/container-with-most-water/ LeetCode]) - Calculate the area and move pointers&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int maxArea(int[] height) {&lt;br /&gt;
        int maxArea = 0;&lt;br /&gt;
        int pointerLeft = 0;&lt;br /&gt;
        int pointerRight = height.length - 1;&lt;br /&gt;
&lt;br /&gt;
        while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
            // Keep the lowest height to calculate the area for those two pointers&lt;br /&gt;
            int minHeight = Math.min(height[pointerLeft], height[pointerRight]);&lt;br /&gt;
            int area = minHeight * (pointerRight - pointerLeft);&lt;br /&gt;
&lt;br /&gt;
            maxArea = Math.max(area, maxArea); &lt;br /&gt;
&lt;br /&gt;
            if (height[pointerLeft] &amp;lt; height[pointerRight]) {&lt;br /&gt;
                pointerLeft++;&lt;br /&gt;
            } else {&lt;br /&gt;
                pointerRight--;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return maxArea;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Binary ==&lt;br /&gt;
&lt;br /&gt;
=== Sum of Two Integers - ([https://leetcode.com/problems/sum-of-two-integers/ LeetCode]) -  &#039;&#039;&#039;int carry = (a &amp;amp; b) &amp;lt;&amp;lt; 1;&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* Store the carry&lt;br /&gt;
* Get the rest&lt;br /&gt;
&lt;br /&gt;
Think about this story: 2 bags of coins are emptied on a table. The overlapping pieces are carried in B. The rest is stored in A&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int getSum(int a, int b) {&lt;br /&gt;
        while (b != 0) {&lt;br /&gt;
            int carry = (a &amp;amp; b) &amp;lt;&amp;lt; 1; &lt;br /&gt;
            a = a ^ b;&lt;br /&gt;
            b = carry;&lt;br /&gt;
        }&lt;br /&gt;
        return a;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Number of 1 bits&#039;&#039;&#039; - [https://leetcode.com/problems/number-of-1-bits/ (LeetCode)] - &#039;&#039;&#039;if ((n &amp;amp; mask) != 0)&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* The equivalent of a pointer in an array is here a Mask, we move it using &amp;lt;&amp;lt;= 1 to the next bit&lt;br /&gt;
* And continue to 32 bits as it is mentioned in the exercise.&lt;br /&gt;
* &amp;amp; is a binary AND&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int hammingWeight(int n) {&lt;br /&gt;
        int bits = 0;&lt;br /&gt;
        int mask = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; 32; i++) {&lt;br /&gt;
            if ((n &amp;amp; mask) != 0) {&lt;br /&gt;
                bits++;&lt;br /&gt;
            }&lt;br /&gt;
            mask &amp;lt;&amp;lt;= 1;&lt;br /&gt;
        }&lt;br /&gt;
        return bits;&lt;br /&gt;
    }&lt;br /&gt;
//     public int hammingWeight(int n) {&lt;br /&gt;
//         return Integer.bitCount(n);&lt;br /&gt;
//     }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Counting Bits&#039;&#039;&#039; - ([https://leetcode.com/problems/counting-bits/description/ LeetCode]) - &#039;&#039;&#039;ans[i] = ans[i &amp;gt;&amp;gt; 1] + (i &amp;amp; 1);&#039;&#039;&#039; ===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] countBits(int n) {&lt;br /&gt;
        int[] ans = new int[n + 1];&lt;br /&gt;
&lt;br /&gt;
        for(int i = 0; i &amp;lt;= n; i++){&lt;br /&gt;
            // The number of set bits in &#039;i&#039; is calculated based on a previous result.&lt;br /&gt;
            //&lt;br /&gt;
            // i &amp;gt;&amp;gt; 1: This is a bitwise right shift, equivalent to integer division by 2 (i / 2).&lt;br /&gt;
            // It gives us the number &#039;i&#039; with its last bit removed. The bit count for this&lt;br /&gt;
            // smaller number, ans[i &amp;gt;&amp;gt; 1], has already been computed.&lt;br /&gt;
            //&lt;br /&gt;
            // i &amp;amp; 1: This is a bitwise AND with 1, equivalent to the modulo operator (i % 2).&lt;br /&gt;
            // It gives us the value of the last bit of &#039;i&#039;. It&#039;s 1 if &#039;i&#039; is odd, 0 if &#039;i&#039; is even.&lt;br /&gt;
            //&lt;br /&gt;
            // So, ans[i] = (bits in the first part of i) + (the last bit of i).&lt;br /&gt;
            ans[i] = ans[i &amp;gt;&amp;gt; 1] + (i &amp;amp; 1);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return ans;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1851</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1851"/>
		<updated>2025-10-07T02:39:40Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Number of 1 bits - (LeetCode) - */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use &#039;&#039;&#039;Set/Hashet for unique values&#039;&#039;&#039; [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use &#039;&#039;&#039;Math.max(int,int)&#039;&#039;&#039; to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
* &#039;&#039;&#039;(a &amp;amp; b) &amp;lt;&amp;lt; 1&#039;&#039;&#039; - is to carry&lt;br /&gt;
=Array=&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        // Calculate left product&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Calculate right product&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right. ====&lt;br /&gt;
* Find the pivot&lt;br /&gt;
* Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;3 Sum&#039;&#039;&#039; - ([https://leetcode.com/problems/3sum/ LeetCode]) - fix a value, use left and right pointers ====&lt;br /&gt;
&lt;br /&gt;
* Sort the array first !&lt;br /&gt;
* Fix I as length-2&lt;br /&gt;
* skip duplicates for I&lt;br /&gt;
* Move left and right pointers to match 0&lt;br /&gt;
* if one is found, skip duplicates and continue to search for other match&lt;br /&gt;
* if left &amp;amp; right pointers are equal, continue with a new I&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public List&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; threeSum(int[] nums) {&lt;br /&gt;
        Arrays.sort(nums);&lt;br /&gt;
        Set&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; results = new HashSet&amp;lt;&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
        for(int i = 0; i &amp;lt; nums.length - 2; i++){&lt;br /&gt;
            // Skip duplicates for fixed element&lt;br /&gt;
            if (i &amp;gt; 0 &amp;amp;&amp;amp; nums[i] == nums [i - 1]) continue;&lt;br /&gt;
&lt;br /&gt;
            int pointerLeft = i + 1;&lt;br /&gt;
            int pointerRight = nums.length -1;&lt;br /&gt;
&lt;br /&gt;
            while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
                int sum = nums[pointerLeft] + nums[i] + nums[pointerRight];&lt;br /&gt;
                &lt;br /&gt;
                if(sum == 0){&lt;br /&gt;
                    // Got one !&lt;br /&gt;
                    results.add(Arrays.asList(nums[pointerLeft], nums[i], nums[pointerRight]));&lt;br /&gt;
&lt;br /&gt;
                    // Skip duplicates for left and right pointers&lt;br /&gt;
                    while(pointerLeft &amp;lt; pointerRight &amp;amp;&amp;amp; nums[pointerLeft] == nums[pointerLeft + 1]){ pointerLeft++; }&lt;br /&gt;
                    while(pointerRight &amp;gt; pointerLeft &amp;amp;&amp;amp; nums[pointerRight] == nums[pointerRight - 1]){ pointerRight--; }&lt;br /&gt;
&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }else if (sum &amp;lt; 0){&lt;br /&gt;
                    // Sum is too small, move left pointer to try to increase the sum&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                }else{&lt;br /&gt;
                    // Sum is too small, move right pointer to try to increase the sum&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return new ArrayList&amp;lt;&amp;gt;(results);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&#039;&#039;&#039;Two-Pointer Approach&#039;&#039;&#039; - ([https://leetcode.com/problems/container-with-most-water/ LeetCode]) - Calculate the area and move pointers&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int maxArea(int[] height) {&lt;br /&gt;
        int maxArea = 0;&lt;br /&gt;
        int pointerLeft = 0;&lt;br /&gt;
        int pointerRight = height.length - 1;&lt;br /&gt;
&lt;br /&gt;
        while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
            // Keep the lowest height to calculate the area for those two pointers&lt;br /&gt;
            int minHeight = Math.min(height[pointerLeft], height[pointerRight]);&lt;br /&gt;
            int area = minHeight * (pointerRight - pointerLeft);&lt;br /&gt;
&lt;br /&gt;
            maxArea = Math.max(area, maxArea); &lt;br /&gt;
&lt;br /&gt;
            if (height[pointerLeft] &amp;lt; height[pointerRight]) {&lt;br /&gt;
                pointerLeft++;&lt;br /&gt;
            } else {&lt;br /&gt;
                pointerRight--;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return maxArea;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Binary ==&lt;br /&gt;
&lt;br /&gt;
=== Sum of Two Integers - ([https://leetcode.com/problems/sum-of-two-integers/ LeetCode]) -  &#039;&#039;&#039;int carry = (a &amp;amp; b) &amp;lt;&amp;lt; 1;&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* Store the carry&lt;br /&gt;
* Get the rest&lt;br /&gt;
&lt;br /&gt;
Think about this story: 2 bags of coins are emptied on a table. The overlapping pieces are carried in B. The rest is stored in A&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int getSum(int a, int b) {&lt;br /&gt;
        while (b != 0) {&lt;br /&gt;
            int carry = (a &amp;amp; b) &amp;lt;&amp;lt; 1; &lt;br /&gt;
            a = a ^ b;&lt;br /&gt;
            b = carry;&lt;br /&gt;
        }&lt;br /&gt;
        return a;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Number of 1 bits&#039;&#039;&#039; - [https://leetcode.com/problems/number-of-1-bits/ (LeetCode)] - &#039;&#039;&#039;if ((n &amp;amp; mask) != 0)&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* The equivalent of a pointer in an array is here a Mask, we move it using &amp;lt;&amp;lt;= 1 to the next bit&lt;br /&gt;
* And continue to 32 bits as it is mentioned in the exercise.&lt;br /&gt;
* &amp;amp; is a binary AND&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int hammingWeight(int n) {&lt;br /&gt;
        int bits = 0;&lt;br /&gt;
        int mask = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; 32; i++) {&lt;br /&gt;
            if ((n &amp;amp; mask) != 0) {&lt;br /&gt;
                bits++;&lt;br /&gt;
            }&lt;br /&gt;
            mask &amp;lt;&amp;lt;= 1;&lt;br /&gt;
        }&lt;br /&gt;
        return bits;&lt;br /&gt;
    }&lt;br /&gt;
//     public int hammingWeight(int n) {&lt;br /&gt;
//         return Integer.bitCount(n);&lt;br /&gt;
//     }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1850</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1850"/>
		<updated>2025-10-07T02:14:26Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Number of 1 bits - (LeetCode) - */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use &#039;&#039;&#039;Set/Hashet for unique values&#039;&#039;&#039; [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use &#039;&#039;&#039;Math.max(int,int)&#039;&#039;&#039; to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
* &#039;&#039;&#039;(a &amp;amp; b) &amp;lt;&amp;lt; 1&#039;&#039;&#039; - is to carry&lt;br /&gt;
=Array=&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        // Calculate left product&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Calculate right product&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right. ====&lt;br /&gt;
* Find the pivot&lt;br /&gt;
* Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;3 Sum&#039;&#039;&#039; - ([https://leetcode.com/problems/3sum/ LeetCode]) - fix a value, use left and right pointers ====&lt;br /&gt;
&lt;br /&gt;
* Sort the array first !&lt;br /&gt;
* Fix I as length-2&lt;br /&gt;
* skip duplicates for I&lt;br /&gt;
* Move left and right pointers to match 0&lt;br /&gt;
* if one is found, skip duplicates and continue to search for other match&lt;br /&gt;
* if left &amp;amp; right pointers are equal, continue with a new I&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public List&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; threeSum(int[] nums) {&lt;br /&gt;
        Arrays.sort(nums);&lt;br /&gt;
        Set&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; results = new HashSet&amp;lt;&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
        for(int i = 0; i &amp;lt; nums.length - 2; i++){&lt;br /&gt;
            // Skip duplicates for fixed element&lt;br /&gt;
            if (i &amp;gt; 0 &amp;amp;&amp;amp; nums[i] == nums [i - 1]) continue;&lt;br /&gt;
&lt;br /&gt;
            int pointerLeft = i + 1;&lt;br /&gt;
            int pointerRight = nums.length -1;&lt;br /&gt;
&lt;br /&gt;
            while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
                int sum = nums[pointerLeft] + nums[i] + nums[pointerRight];&lt;br /&gt;
                &lt;br /&gt;
                if(sum == 0){&lt;br /&gt;
                    // Got one !&lt;br /&gt;
                    results.add(Arrays.asList(nums[pointerLeft], nums[i], nums[pointerRight]));&lt;br /&gt;
&lt;br /&gt;
                    // Skip duplicates for left and right pointers&lt;br /&gt;
                    while(pointerLeft &amp;lt; pointerRight &amp;amp;&amp;amp; nums[pointerLeft] == nums[pointerLeft + 1]){ pointerLeft++; }&lt;br /&gt;
                    while(pointerRight &amp;gt; pointerLeft &amp;amp;&amp;amp; nums[pointerRight] == nums[pointerRight - 1]){ pointerRight--; }&lt;br /&gt;
&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }else if (sum &amp;lt; 0){&lt;br /&gt;
                    // Sum is too small, move left pointer to try to increase the sum&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                }else{&lt;br /&gt;
                    // Sum is too small, move right pointer to try to increase the sum&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return new ArrayList&amp;lt;&amp;gt;(results);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&#039;&#039;&#039;Two-Pointer Approach&#039;&#039;&#039; - ([https://leetcode.com/problems/container-with-most-water/ LeetCode]) - Calculate the area and move pointers&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int maxArea(int[] height) {&lt;br /&gt;
        int maxArea = 0;&lt;br /&gt;
        int pointerLeft = 0;&lt;br /&gt;
        int pointerRight = height.length - 1;&lt;br /&gt;
&lt;br /&gt;
        while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
            // Keep the lowest height to calculate the area for those two pointers&lt;br /&gt;
            int minHeight = Math.min(height[pointerLeft], height[pointerRight]);&lt;br /&gt;
            int area = minHeight * (pointerRight - pointerLeft);&lt;br /&gt;
&lt;br /&gt;
            maxArea = Math.max(area, maxArea); &lt;br /&gt;
&lt;br /&gt;
            if (height[pointerLeft] &amp;lt; height[pointerRight]) {&lt;br /&gt;
                pointerLeft++;&lt;br /&gt;
            } else {&lt;br /&gt;
                pointerRight--;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return maxArea;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Binary ==&lt;br /&gt;
&lt;br /&gt;
=== Sum of Two Integers - ([https://leetcode.com/problems/sum-of-two-integers/ LeetCode]) ===&lt;br /&gt;
&lt;br /&gt;
* Store the carry&lt;br /&gt;
* Get the rest&lt;br /&gt;
&lt;br /&gt;
Think about this story: 2 bags of coins are emptied on a table. The overlapping pieces are carried in B. The rest is stored in A&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int getSum(int a, int b) {&lt;br /&gt;
        while (b != 0) {&lt;br /&gt;
            int carry = (a &amp;amp; b) &amp;lt;&amp;lt; 1; &lt;br /&gt;
            a = a ^ b;&lt;br /&gt;
            b = carry;&lt;br /&gt;
        }&lt;br /&gt;
        return a;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Number of 1 bits&#039;&#039;&#039; - [https://leetcode.com/problems/number-of-1-bits/ (LeetCode)] - ===&lt;br /&gt;
&lt;br /&gt;
* The equivalent of a pointer in an array is here a Mask, we move it using &amp;lt;&amp;lt;= 1 to the next bit&lt;br /&gt;
* And continue to 32 bits as it is mentioned in the exercise.&lt;br /&gt;
* &amp;amp; is a binary AND&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int hammingWeight(int n) {&lt;br /&gt;
        int bits = 0;&lt;br /&gt;
        int mask = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; 32; i++) {&lt;br /&gt;
            if ((n &amp;amp; mask) != 0) {&lt;br /&gt;
                bits++;&lt;br /&gt;
            }&lt;br /&gt;
            mask &amp;lt;&amp;lt;= 1;&lt;br /&gt;
        }&lt;br /&gt;
        return bits;&lt;br /&gt;
    }&lt;br /&gt;
//     public int hammingWeight(int n) {&lt;br /&gt;
//         return Integer.bitCount(n);&lt;br /&gt;
//     }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1849</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1849"/>
		<updated>2025-10-07T00:18:00Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Sum of Two Integers - (LeetCode) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use &#039;&#039;&#039;Set/Hashet for unique values&#039;&#039;&#039; [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use &#039;&#039;&#039;Math.max(int,int)&#039;&#039;&#039; to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
* &#039;&#039;&#039;(a &amp;amp; b) &amp;lt;&amp;lt; 1&#039;&#039;&#039; - is to carry&lt;br /&gt;
=Array=&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        // Calculate left product&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Calculate right product&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right. ====&lt;br /&gt;
* Find the pivot&lt;br /&gt;
* Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;3 Sum&#039;&#039;&#039; - ([https://leetcode.com/problems/3sum/ LeetCode]) - fix a value, use left and right pointers ====&lt;br /&gt;
&lt;br /&gt;
* Sort the array first !&lt;br /&gt;
* Fix I as length-2&lt;br /&gt;
* skip duplicates for I&lt;br /&gt;
* Move left and right pointers to match 0&lt;br /&gt;
* if one is found, skip duplicates and continue to search for other match&lt;br /&gt;
* if left &amp;amp; right pointers are equal, continue with a new I&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public List&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; threeSum(int[] nums) {&lt;br /&gt;
        Arrays.sort(nums);&lt;br /&gt;
        Set&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; results = new HashSet&amp;lt;&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
        for(int i = 0; i &amp;lt; nums.length - 2; i++){&lt;br /&gt;
            // Skip duplicates for fixed element&lt;br /&gt;
            if (i &amp;gt; 0 &amp;amp;&amp;amp; nums[i] == nums [i - 1]) continue;&lt;br /&gt;
&lt;br /&gt;
            int pointerLeft = i + 1;&lt;br /&gt;
            int pointerRight = nums.length -1;&lt;br /&gt;
&lt;br /&gt;
            while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
                int sum = nums[pointerLeft] + nums[i] + nums[pointerRight];&lt;br /&gt;
                &lt;br /&gt;
                if(sum == 0){&lt;br /&gt;
                    // Got one !&lt;br /&gt;
                    results.add(Arrays.asList(nums[pointerLeft], nums[i], nums[pointerRight]));&lt;br /&gt;
&lt;br /&gt;
                    // Skip duplicates for left and right pointers&lt;br /&gt;
                    while(pointerLeft &amp;lt; pointerRight &amp;amp;&amp;amp; nums[pointerLeft] == nums[pointerLeft + 1]){ pointerLeft++; }&lt;br /&gt;
                    while(pointerRight &amp;gt; pointerLeft &amp;amp;&amp;amp; nums[pointerRight] == nums[pointerRight - 1]){ pointerRight--; }&lt;br /&gt;
&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }else if (sum &amp;lt; 0){&lt;br /&gt;
                    // Sum is too small, move left pointer to try to increase the sum&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                }else{&lt;br /&gt;
                    // Sum is too small, move right pointer to try to increase the sum&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return new ArrayList&amp;lt;&amp;gt;(results);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&#039;&#039;&#039;Two-Pointer Approach&#039;&#039;&#039; - ([https://leetcode.com/problems/container-with-most-water/ LeetCode]) - Calculate the area and move pointers&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int maxArea(int[] height) {&lt;br /&gt;
        int maxArea = 0;&lt;br /&gt;
        int pointerLeft = 0;&lt;br /&gt;
        int pointerRight = height.length - 1;&lt;br /&gt;
&lt;br /&gt;
        while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
            // Keep the lowest height to calculate the area for those two pointers&lt;br /&gt;
            int minHeight = Math.min(height[pointerLeft], height[pointerRight]);&lt;br /&gt;
            int area = minHeight * (pointerRight - pointerLeft);&lt;br /&gt;
&lt;br /&gt;
            maxArea = Math.max(area, maxArea); &lt;br /&gt;
&lt;br /&gt;
            if (height[pointerLeft] &amp;lt; height[pointerRight]) {&lt;br /&gt;
                pointerLeft++;&lt;br /&gt;
            } else {&lt;br /&gt;
                pointerRight--;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return maxArea;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Binary ==&lt;br /&gt;
&lt;br /&gt;
=== Sum of Two Integers - ([https://leetcode.com/problems/sum-of-two-integers/ LeetCode]) ===&lt;br /&gt;
&lt;br /&gt;
* Store the carry&lt;br /&gt;
* Get the rest&lt;br /&gt;
&lt;br /&gt;
Think about this story: 2 bags of coins are emptied on a table. The overlapping pieces are carried in B. The rest is stored in A&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int getSum(int a, int b) {&lt;br /&gt;
        while (b != 0) {&lt;br /&gt;
            int carry = (a &amp;amp; b) &amp;lt;&amp;lt; 1; &lt;br /&gt;
            a = a ^ b;&lt;br /&gt;
            b = carry;&lt;br /&gt;
        }&lt;br /&gt;
        return a;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Number of 1 bits&#039;&#039;&#039; - [https://leetcode.com/problems/number-of-1-bits/ (LeetCode)] - ===&lt;br /&gt;
&lt;br /&gt;
* The equivalent of a pointer in an array is here a Mask, we move it using &amp;lt;&amp;lt;= 1 to the next bit&lt;br /&gt;
* And continue to 32 bits as it is mentioned in the exercise.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int hammingWeight(int n) {&lt;br /&gt;
        int bits = 0;&lt;br /&gt;
        int mask = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; 32; i++) {&lt;br /&gt;
            if ((n &amp;amp; mask) != 0) {&lt;br /&gt;
                bits++;&lt;br /&gt;
            }&lt;br /&gt;
            mask &amp;lt;&amp;lt;= 1;&lt;br /&gt;
        }&lt;br /&gt;
        return bits;&lt;br /&gt;
    }&lt;br /&gt;
//     public int hammingWeight(int n) {&lt;br /&gt;
//         return Integer.bitCount(n);&lt;br /&gt;
//     }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1848</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1848"/>
		<updated>2025-10-06T23:53:00Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Kadane’s Algorithm - adapted on cumulated products */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use &#039;&#039;&#039;Set/Hashet for unique values&#039;&#039;&#039; [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use &#039;&#039;&#039;Math.max(int,int)&#039;&#039;&#039; to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
* &#039;&#039;&#039;(a &amp;amp; b) &amp;lt;&amp;lt; 1&#039;&#039;&#039; - is to carry&lt;br /&gt;
=Array=&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        // Calculate left product&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Calculate right product&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right. ====&lt;br /&gt;
* Find the pivot&lt;br /&gt;
* Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;3 Sum&#039;&#039;&#039; - ([https://leetcode.com/problems/3sum/ LeetCode]) - fix a value, use left and right pointers ====&lt;br /&gt;
&lt;br /&gt;
* Sort the array first !&lt;br /&gt;
* Fix I as length-2&lt;br /&gt;
* skip duplicates for I&lt;br /&gt;
* Move left and right pointers to match 0&lt;br /&gt;
* if one is found, skip duplicates and continue to search for other match&lt;br /&gt;
* if left &amp;amp; right pointers are equal, continue with a new I&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public List&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; threeSum(int[] nums) {&lt;br /&gt;
        Arrays.sort(nums);&lt;br /&gt;
        Set&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; results = new HashSet&amp;lt;&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
        for(int i = 0; i &amp;lt; nums.length - 2; i++){&lt;br /&gt;
            // Skip duplicates for fixed element&lt;br /&gt;
            if (i &amp;gt; 0 &amp;amp;&amp;amp; nums[i] == nums [i - 1]) continue;&lt;br /&gt;
&lt;br /&gt;
            int pointerLeft = i + 1;&lt;br /&gt;
            int pointerRight = nums.length -1;&lt;br /&gt;
&lt;br /&gt;
            while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
                int sum = nums[pointerLeft] + nums[i] + nums[pointerRight];&lt;br /&gt;
                &lt;br /&gt;
                if(sum == 0){&lt;br /&gt;
                    // Got one !&lt;br /&gt;
                    results.add(Arrays.asList(nums[pointerLeft], nums[i], nums[pointerRight]));&lt;br /&gt;
&lt;br /&gt;
                    // Skip duplicates for left and right pointers&lt;br /&gt;
                    while(pointerLeft &amp;lt; pointerRight &amp;amp;&amp;amp; nums[pointerLeft] == nums[pointerLeft + 1]){ pointerLeft++; }&lt;br /&gt;
                    while(pointerRight &amp;gt; pointerLeft &amp;amp;&amp;amp; nums[pointerRight] == nums[pointerRight - 1]){ pointerRight--; }&lt;br /&gt;
&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }else if (sum &amp;lt; 0){&lt;br /&gt;
                    // Sum is too small, move left pointer to try to increase the sum&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                }else{&lt;br /&gt;
                    // Sum is too small, move right pointer to try to increase the sum&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return new ArrayList&amp;lt;&amp;gt;(results);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&#039;&#039;&#039;Two-Pointer Approach&#039;&#039;&#039; - ([https://leetcode.com/problems/container-with-most-water/ LeetCode]) - Calculate the area and move pointers&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int maxArea(int[] height) {&lt;br /&gt;
        int maxArea = 0;&lt;br /&gt;
        int pointerLeft = 0;&lt;br /&gt;
        int pointerRight = height.length - 1;&lt;br /&gt;
&lt;br /&gt;
        while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
            // Keep the lowest height to calculate the area for those two pointers&lt;br /&gt;
            int minHeight = Math.min(height[pointerLeft], height[pointerRight]);&lt;br /&gt;
            int area = minHeight * (pointerRight - pointerLeft);&lt;br /&gt;
&lt;br /&gt;
            maxArea = Math.max(area, maxArea); &lt;br /&gt;
&lt;br /&gt;
            if (height[pointerLeft] &amp;lt; height[pointerRight]) {&lt;br /&gt;
                pointerLeft++;&lt;br /&gt;
            } else {&lt;br /&gt;
                pointerRight--;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return maxArea;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Binary ==&lt;br /&gt;
&lt;br /&gt;
=== Sum of Two Integers - ([https://leetcode.com/problems/sum-of-two-integers/ LeetCode]) ===&lt;br /&gt;
&lt;br /&gt;
* Store the carry&lt;br /&gt;
* Get the rest&lt;br /&gt;
&lt;br /&gt;
Think about this story: 2 bags of coins are emptied on a table. The overlapping pieces are carried in B. The rest is stored in A&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int getSum(int a, int b) {&lt;br /&gt;
        while (b != 0) {&lt;br /&gt;
            int carry = (a &amp;amp; b) &amp;lt;&amp;lt; 1; &lt;br /&gt;
            a = a ^ b;&lt;br /&gt;
            b = carry;&lt;br /&gt;
        }&lt;br /&gt;
        return a;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rest ===&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1847</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1847"/>
		<updated>2025-10-06T23:49:34Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Binary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use &#039;&#039;&#039;Set/Hashet for unique values&#039;&#039;&#039; [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use &#039;&#039;&#039;Math.max(int,int)&#039;&#039;&#039; to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
* &#039;&#039;&#039;(a &amp;amp; b) &amp;lt;&amp;lt; 1&#039;&#039;&#039; - is to carry&lt;br /&gt;
=Array=&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        // Calculate left product&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Calculate right product&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right. ====&lt;br /&gt;
* Find the pivot&lt;br /&gt;
* Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;3 Sum&#039;&#039;&#039; - ([https://leetcode.com/problems/3sum/ LeetCode]) - fix a value, use left and right pointers ====&lt;br /&gt;
&lt;br /&gt;
* Sort the array first !&lt;br /&gt;
* Fix I as length-2&lt;br /&gt;
* skip duplicates for I&lt;br /&gt;
* Move left and right pointers to match 0&lt;br /&gt;
* if one is found, skip duplicates and continue to search for other match&lt;br /&gt;
* if left &amp;amp; right pointers are equal, continue with a new I&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public List&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; threeSum(int[] nums) {&lt;br /&gt;
        Arrays.sort(nums);&lt;br /&gt;
        Set&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; results = new HashSet&amp;lt;&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
        for(int i = 0; i &amp;lt; nums.length - 2; i++){&lt;br /&gt;
            // Skip duplicates for fixed element&lt;br /&gt;
            if (i &amp;gt; 0 &amp;amp;&amp;amp; nums[i] == nums [i - 1]) continue;&lt;br /&gt;
&lt;br /&gt;
            int pointerLeft = i + 1;&lt;br /&gt;
            int pointerRight = nums.length -1;&lt;br /&gt;
&lt;br /&gt;
            while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
                int sum = nums[pointerLeft] + nums[i] + nums[pointerRight];&lt;br /&gt;
                &lt;br /&gt;
                if(sum == 0){&lt;br /&gt;
                    // Got one !&lt;br /&gt;
                    results.add(Arrays.asList(nums[pointerLeft], nums[i], nums[pointerRight]));&lt;br /&gt;
&lt;br /&gt;
                    // Skip duplicates for left and right pointers&lt;br /&gt;
                    while(pointerLeft &amp;lt; pointerRight &amp;amp;&amp;amp; nums[pointerLeft] == nums[pointerLeft + 1]){ pointerLeft++; }&lt;br /&gt;
                    while(pointerRight &amp;gt; pointerLeft &amp;amp;&amp;amp; nums[pointerRight] == nums[pointerRight - 1]){ pointerRight--; }&lt;br /&gt;
&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }else if (sum &amp;lt; 0){&lt;br /&gt;
                    // Sum is too small, move left pointer to try to increase the sum&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                }else{&lt;br /&gt;
                    // Sum is too small, move right pointer to try to increase the sum&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return new ArrayList&amp;lt;&amp;gt;(results);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&#039;&#039;&#039;Two-Pointer Approach&#039;&#039;&#039; - ([https://leetcode.com/problems/container-with-most-water/ LeetCode]) - Calculate the area and move pointers&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int maxArea(int[] height) {&lt;br /&gt;
        int maxArea = 0;&lt;br /&gt;
        int pointerLeft = 0;&lt;br /&gt;
        int pointerRight = height.length - 1;&lt;br /&gt;
&lt;br /&gt;
        while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
            // Keep the lowest height to calculate the area for those two pointers&lt;br /&gt;
            int minHeight = Math.min(height[pointerLeft], height[pointerRight]);&lt;br /&gt;
            int area = minHeight * (pointerRight - pointerLeft);&lt;br /&gt;
&lt;br /&gt;
            maxArea = Math.max(area, maxArea); &lt;br /&gt;
&lt;br /&gt;
            if (height[pointerLeft] &amp;lt; height[pointerRight]) {&lt;br /&gt;
                pointerLeft++;&lt;br /&gt;
            } else {&lt;br /&gt;
                pointerRight--;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return maxArea;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Binary ==&lt;br /&gt;
&lt;br /&gt;
=== Sum of Two Integers ===&lt;br /&gt;
&lt;br /&gt;
=== Rest ===&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1846</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1846"/>
		<updated>2025-10-06T23:49:08Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Tips */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use &#039;&#039;&#039;Set/Hashet for unique values&#039;&#039;&#039; [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use &#039;&#039;&#039;Math.max(int,int)&#039;&#039;&#039; to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
* &#039;&#039;&#039;(a &amp;amp; b) &amp;lt;&amp;lt; 1&#039;&#039;&#039; - is to carry&lt;br /&gt;
=Array=&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        // Calculate left product&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Calculate right product&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right. ====&lt;br /&gt;
* Find the pivot&lt;br /&gt;
* Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;3 Sum&#039;&#039;&#039; - ([https://leetcode.com/problems/3sum/ LeetCode]) - fix a value, use left and right pointers ====&lt;br /&gt;
&lt;br /&gt;
* Sort the array first !&lt;br /&gt;
* Fix I as length-2&lt;br /&gt;
* skip duplicates for I&lt;br /&gt;
* Move left and right pointers to match 0&lt;br /&gt;
* if one is found, skip duplicates and continue to search for other match&lt;br /&gt;
* if left &amp;amp; right pointers are equal, continue with a new I&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public List&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; threeSum(int[] nums) {&lt;br /&gt;
        Arrays.sort(nums);&lt;br /&gt;
        Set&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; results = new HashSet&amp;lt;&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
        for(int i = 0; i &amp;lt; nums.length - 2; i++){&lt;br /&gt;
            // Skip duplicates for fixed element&lt;br /&gt;
            if (i &amp;gt; 0 &amp;amp;&amp;amp; nums[i] == nums [i - 1]) continue;&lt;br /&gt;
&lt;br /&gt;
            int pointerLeft = i + 1;&lt;br /&gt;
            int pointerRight = nums.length -1;&lt;br /&gt;
&lt;br /&gt;
            while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
                int sum = nums[pointerLeft] + nums[i] + nums[pointerRight];&lt;br /&gt;
                &lt;br /&gt;
                if(sum == 0){&lt;br /&gt;
                    // Got one !&lt;br /&gt;
                    results.add(Arrays.asList(nums[pointerLeft], nums[i], nums[pointerRight]));&lt;br /&gt;
&lt;br /&gt;
                    // Skip duplicates for left and right pointers&lt;br /&gt;
                    while(pointerLeft &amp;lt; pointerRight &amp;amp;&amp;amp; nums[pointerLeft] == nums[pointerLeft + 1]){ pointerLeft++; }&lt;br /&gt;
                    while(pointerRight &amp;gt; pointerLeft &amp;amp;&amp;amp; nums[pointerRight] == nums[pointerRight - 1]){ pointerRight--; }&lt;br /&gt;
&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }else if (sum &amp;lt; 0){&lt;br /&gt;
                    // Sum is too small, move left pointer to try to increase the sum&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                }else{&lt;br /&gt;
                    // Sum is too small, move right pointer to try to increase the sum&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return new ArrayList&amp;lt;&amp;gt;(results);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&#039;&#039;&#039;Two-Pointer Approach&#039;&#039;&#039; - ([https://leetcode.com/problems/container-with-most-water/ LeetCode]) - Calculate the area and move pointers&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int maxArea(int[] height) {&lt;br /&gt;
        int maxArea = 0;&lt;br /&gt;
        int pointerLeft = 0;&lt;br /&gt;
        int pointerRight = height.length - 1;&lt;br /&gt;
&lt;br /&gt;
        while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
            // Keep the lowest height to calculate the area for those two pointers&lt;br /&gt;
            int minHeight = Math.min(height[pointerLeft], height[pointerRight]);&lt;br /&gt;
            int area = minHeight * (pointerRight - pointerLeft);&lt;br /&gt;
&lt;br /&gt;
            maxArea = Math.max(area, maxArea); &lt;br /&gt;
&lt;br /&gt;
            if (height[pointerLeft] &amp;lt; height[pointerRight]) {&lt;br /&gt;
                pointerLeft++;&lt;br /&gt;
            } else {&lt;br /&gt;
                pointerRight--;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return maxArea;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Binary ==&lt;br /&gt;
&lt;br /&gt;
=== Binary ===&lt;br /&gt;
&lt;br /&gt;
=== Rest ===&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1845</id>
		<title>GAFAM Interviews - TODO</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1845"/>
		<updated>2025-10-06T04:01:23Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [ ] - Update Resume for Robots&lt;br /&gt;
** [ ] - Light&lt;br /&gt;
** [ ] - Keywords&lt;br /&gt;
* [ ] - Portfolio&lt;br /&gt;
* &#039;&#039;&#039;[X] - LeetCode&#039;&#039;&#039;&lt;br /&gt;
** [ ] - Blind 75&lt;br /&gt;
*** [ ] - Array&lt;br /&gt;
*** [ ] - Binary&lt;br /&gt;
*** [ ] - Dynamic Programming&lt;br /&gt;
*** [ ] - Graph&lt;br /&gt;
*** [ ] - Interval&lt;br /&gt;
*** [ ] - Linked List&lt;br /&gt;
*** [ ] - Matrix&lt;br /&gt;
*** [ ] - String&lt;br /&gt;
*** [ ] - Tree&lt;br /&gt;
*** [ ] - Heap&lt;br /&gt;
* [ ] - Books&lt;br /&gt;
** [ ] - Designing Data Intensive Application, 2nd Edition&lt;br /&gt;
** [ ] - Effective Java, 2nd Edition&lt;br /&gt;
* [ ] - Architecture&lt;br /&gt;
* [ ] - Techs&lt;br /&gt;
** [ ] - Spark&lt;br /&gt;
** [ ] - Kafka&lt;br /&gt;
* [ ] - Java&lt;br /&gt;
** [ ] - Reactive Java&lt;br /&gt;
** [ ] - Version History&lt;br /&gt;
* [ ] - OWASP&lt;br /&gt;
* [ ] - Leadership principles&lt;br /&gt;
* [ ] - Prepare Best / Worst &lt;br /&gt;
** [ ] - Fail - alone&lt;br /&gt;
** [ ] - Fail - as a team&lt;br /&gt;
** [ ] - Success - alone&lt;br /&gt;
** [ ] - Success - as a team&lt;br /&gt;
** [ ] - Leading&lt;br /&gt;
* [ ] - Scala&lt;br /&gt;
** [ ] - basics&lt;br /&gt;
* [ ] - Update&lt;br /&gt;
** [ ] - LinkedIn&lt;br /&gt;
** [ ] - Indeed&lt;br /&gt;
** [ ] - Monster&lt;br /&gt;
* [ ] -&lt;br /&gt;
* [ ] -&lt;br /&gt;
* [ ] -&lt;br /&gt;
* [ ] -&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1844</id>
		<title>GAFAM Interviews - TODO</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1844"/>
		<updated>2025-10-06T04:01:11Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* &#039;&#039;&#039;[ ] - Update Resume for Robots&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[ ] - Light&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[ ] - Keywords&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[ ] - Portfolio&#039;&#039;&#039;&lt;br /&gt;
* [X] - LeetCode&lt;br /&gt;
** &#039;&#039;&#039;[ ] - Blind 75&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;[ ] - Array&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;[ ] - Binary&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;[ ] - Dynamic Programming&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;[ ] - Graph&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;[ ] - Interval&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;[ ] - Linked List&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;[ ] - Matrix&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;[ ] - String&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;[ ] - Tree&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;[ ] - Heap&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[ ] - Books&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[ ] - Designing Data Intensive Application, 2nd Edition&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[ ] - Effective Java, 2nd Edition&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[ ] - Architecture&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[ ] - Techs&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[ ] - Spark&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[ ] - Kafka&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[ ] - Java&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[ ] - Reactive Java&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[ ] - Version History&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[ ] - OWASP&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[ ] - Leadership principles&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[ ] - Prepare Best / Worst&#039;&#039;&#039; &lt;br /&gt;
** &#039;&#039;&#039;[ ] - Fail - alone&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[ ] - Fail - as a team&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[ ] - Success - alone&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[ ] - Success - as a team&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[ ] - Leading&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[ ] - Scala&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[ ] - basics&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[ ] - Update&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[ ] - LinkedIn&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[ ] - Indeed&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[ ] - Monster&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[ ] -&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[ ] -&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[ ] -&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[ ] -&#039;&#039;&#039;&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1843</id>
		<title>GAFAM Interviews - TODO</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1843"/>
		<updated>2025-10-06T04:00:50Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [ ] - Update Resume for Robots&lt;br /&gt;
** [ ] - Light&lt;br /&gt;
** [ ] - Keywords&lt;br /&gt;
* [ ] - Portfolio&lt;br /&gt;
* &#039;&#039;&#039;[X] - LeetCode&#039;&#039;&#039;&lt;br /&gt;
** [ ] - Blind 75&lt;br /&gt;
*** [ ] - Array&lt;br /&gt;
*** [ ] - Binary&lt;br /&gt;
*** [ ] - Dynamic Programming&lt;br /&gt;
*** [ ] - Graph&lt;br /&gt;
*** [ ] - Interval&lt;br /&gt;
*** [ ] - Linked List&lt;br /&gt;
*** [ ] - Matrix&lt;br /&gt;
*** [ ] - String&lt;br /&gt;
*** [ ] - Tree&lt;br /&gt;
*** [ ] - Heap&lt;br /&gt;
* [ ] - Books&lt;br /&gt;
** [ ] - Designing Data Intensive Application, 2nd Edition&lt;br /&gt;
** [ ] - Effective Java, 2nd Edition&lt;br /&gt;
* [ ] - Architecture&lt;br /&gt;
* [ ] - Techs&lt;br /&gt;
** [ ] - Spark&lt;br /&gt;
** [ ] - Kafka&lt;br /&gt;
* [ ] - Java&lt;br /&gt;
** [ ] - Reactive Java&lt;br /&gt;
** [ ] - Version History&lt;br /&gt;
* [ ] - OWASP&lt;br /&gt;
* [ ] - Leadership principles&lt;br /&gt;
* [ ] - Prepare Best / Worst &lt;br /&gt;
** [ ] - Fail - alone&lt;br /&gt;
** [ ] - Fail - as a team&lt;br /&gt;
** [ ] - Success - alone&lt;br /&gt;
** [ ] - Success - as a team&lt;br /&gt;
** [ ] - Leading&lt;br /&gt;
* [ ] - Scala&lt;br /&gt;
** [ ] - basics&lt;br /&gt;
* [ ] - Update&lt;br /&gt;
** [ ] - LinkedIn&lt;br /&gt;
** [ ] - Indeed&lt;br /&gt;
** [ ] - Monster&lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1842</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1842"/>
		<updated>2025-10-06T04:00:18Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* 3 Sum - (LeetCode) - fix a value, use left and right pointers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
=Array Algoritms=&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        // Calculate left product&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Calculate right product&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right. ====&lt;br /&gt;
* Find the pivot&lt;br /&gt;
* Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;3 Sum&#039;&#039;&#039; - ([https://leetcode.com/problems/3sum/ LeetCode]) - fix a value, use left and right pointers ====&lt;br /&gt;
&lt;br /&gt;
* Sort the array first !&lt;br /&gt;
* Fix I as length-2&lt;br /&gt;
* skip duplicates for I&lt;br /&gt;
* Move left and right pointers to match 0&lt;br /&gt;
* if one is found, skip duplicates and continue to search for other match&lt;br /&gt;
* if left &amp;amp; right pointers are equal, continue with a new I&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public List&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; threeSum(int[] nums) {&lt;br /&gt;
        Arrays.sort(nums);&lt;br /&gt;
        Set&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; results = new HashSet&amp;lt;&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
        for(int i = 0; i &amp;lt; nums.length - 2; i++){&lt;br /&gt;
            // Skip duplicates for fixed element&lt;br /&gt;
            if (i &amp;gt; 0 &amp;amp;&amp;amp; nums[i] == nums [i - 1]) continue;&lt;br /&gt;
&lt;br /&gt;
            int pointerLeft = i + 1;&lt;br /&gt;
            int pointerRight = nums.length -1;&lt;br /&gt;
&lt;br /&gt;
            while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
                int sum = nums[pointerLeft] + nums[i] + nums[pointerRight];&lt;br /&gt;
                &lt;br /&gt;
                if(sum == 0){&lt;br /&gt;
                    // Got one !&lt;br /&gt;
                    results.add(Arrays.asList(nums[pointerLeft], nums[i], nums[pointerRight]));&lt;br /&gt;
&lt;br /&gt;
                    // Skip duplicates for left and right pointers&lt;br /&gt;
                    while(pointerLeft &amp;lt; pointerRight &amp;amp;&amp;amp; nums[pointerLeft] == nums[pointerLeft + 1]){ pointerLeft++; }&lt;br /&gt;
                    while(pointerRight &amp;gt; pointerLeft &amp;amp;&amp;amp; nums[pointerRight] == nums[pointerRight - 1]){ pointerRight--; }&lt;br /&gt;
&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }else if (sum &amp;lt; 0){&lt;br /&gt;
                    // Sum is too small, move left pointer to try to increase the sum&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                }else{&lt;br /&gt;
                    // Sum is too small, move right pointer to try to increase the sum&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return new ArrayList&amp;lt;&amp;gt;(results);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&#039;&#039;&#039;Two-Pointer Approach&#039;&#039;&#039; - ([https://leetcode.com/problems/container-with-most-water/ LeetCode]) - Calculate the area and move pointers&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int maxArea(int[] height) {&lt;br /&gt;
        int maxArea = 0;&lt;br /&gt;
        int pointerLeft = 0;&lt;br /&gt;
        int pointerRight = height.length - 1;&lt;br /&gt;
&lt;br /&gt;
        while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
            // Keep the lowest height to calculate the area for those two pointers&lt;br /&gt;
            int minHeight = Math.min(height[pointerLeft], height[pointerRight]);&lt;br /&gt;
            int area = minHeight * (pointerRight - pointerLeft);&lt;br /&gt;
&lt;br /&gt;
            maxArea = Math.max(area, maxArea); &lt;br /&gt;
&lt;br /&gt;
            if (height[pointerLeft] &amp;lt; height[pointerRight]) {&lt;br /&gt;
                pointerLeft++;&lt;br /&gt;
            } else {&lt;br /&gt;
                pointerRight--;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return maxArea;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [[Index.php?title=MergeSort|MergeSort]] ====&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1841</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1841"/>
		<updated>2025-10-06T03:53:19Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* 3 Sum - (LeetCode) - fix a value, use left and right pointers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
=Array Algoritms=&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        // Calculate left product&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Calculate right product&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right. ====&lt;br /&gt;
* Find the pivot&lt;br /&gt;
* Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;3 Sum&#039;&#039;&#039; - ([https://leetcode.com/problems/3sum/ LeetCode]) - fix a value, use left and right pointers ====&lt;br /&gt;
&lt;br /&gt;
* Sort the array first !&lt;br /&gt;
* Fix I as length-2&lt;br /&gt;
* skip duplicates for I&lt;br /&gt;
* Move left and right pointers to match 0&lt;br /&gt;
* if one is found, skip duplicates and continue to search for other match&lt;br /&gt;
* if left &amp;amp; right pointers are equal, continue with a new I&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public List&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; threeSum(int[] nums) {&lt;br /&gt;
        Arrays.sort(nums);&lt;br /&gt;
        Set&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; results = new HashSet&amp;lt;&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
        for(int i = 0; i &amp;lt; nums.length - 2; i++){&lt;br /&gt;
            // Skip duplicates for fixed element&lt;br /&gt;
            if (i &amp;gt; 0 &amp;amp;&amp;amp; nums[i] == nums [i - 1]) continue;&lt;br /&gt;
&lt;br /&gt;
            int pointerLeft = i + 1;&lt;br /&gt;
            int pointerRight = nums.length -1;&lt;br /&gt;
&lt;br /&gt;
            while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
                int sum = nums[pointerLeft] + nums[i] + nums[pointerRight];&lt;br /&gt;
                &lt;br /&gt;
                if(sum == 0){&lt;br /&gt;
                    // Got one !&lt;br /&gt;
                    results.add(Arrays.asList(nums[pointerLeft], nums[i], nums[pointerRight]));&lt;br /&gt;
&lt;br /&gt;
                    // Skip duplicates for left and right pointers&lt;br /&gt;
                    while(pointerLeft &amp;lt; pointerRight &amp;amp;&amp;amp; nums[pointerLeft] == nums[pointerLeft + 1]){ pointerLeft++; }&lt;br /&gt;
                    while(pointerRight &amp;gt; pointerLeft &amp;amp;&amp;amp; nums[pointerRight] == nums[pointerRight - 1]){ pointerRight--; }&lt;br /&gt;
&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }else if (sum &amp;lt; 0){&lt;br /&gt;
                    // Sum is too small, move left pointer to try to increase the sum&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                }else{&lt;br /&gt;
                    // Sum is too small, move right pointer to try to increase the sum&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return new ArrayList&amp;lt;&amp;gt;(results);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [[Index.php?title=MergeSort|MergeSort]] ====&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1840</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1840"/>
		<updated>2025-10-06T03:53:06Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Kadane’s Algorithm - adapted on cumulated products */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
=Array Algoritms=&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        // Calculate left product&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Calculate right product&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right. ====&lt;br /&gt;
* Find the pivot&lt;br /&gt;
* Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 3 Sum - ([https://leetcode.com/problems/3sum/ LeetCode]) - fix a value, use left and right pointers ====&lt;br /&gt;
&lt;br /&gt;
* Sort the array first !&lt;br /&gt;
* Fix I as length-2&lt;br /&gt;
* skip duplicates for I&lt;br /&gt;
* Move left and right pointers to match 0&lt;br /&gt;
* if one is found, skip duplicates and continue to search for other match&lt;br /&gt;
* if left &amp;amp; right pointers are equal, continue with a new I&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public List&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; threeSum(int[] nums) {&lt;br /&gt;
        Arrays.sort(nums);&lt;br /&gt;
        Set&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; results = new HashSet&amp;lt;&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
        for(int i = 0; i &amp;lt; nums.length - 2; i++){&lt;br /&gt;
            // Skip duplicates for fixed element&lt;br /&gt;
            if (i &amp;gt; 0 &amp;amp;&amp;amp; nums[i] == nums [i - 1]) continue;&lt;br /&gt;
&lt;br /&gt;
            int pointerLeft = i + 1;&lt;br /&gt;
            int pointerRight = nums.length -1;&lt;br /&gt;
&lt;br /&gt;
            while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
                int sum = nums[pointerLeft] + nums[i] + nums[pointerRight];&lt;br /&gt;
                &lt;br /&gt;
                if(sum == 0){&lt;br /&gt;
                    // Got one !&lt;br /&gt;
                    results.add(Arrays.asList(nums[pointerLeft], nums[i], nums[pointerRight]));&lt;br /&gt;
&lt;br /&gt;
                    // Skip duplicates for left and right pointers&lt;br /&gt;
                    while(pointerLeft &amp;lt; pointerRight &amp;amp;&amp;amp; nums[pointerLeft] == nums[pointerLeft + 1]){ pointerLeft++; }&lt;br /&gt;
                    while(pointerRight &amp;gt; pointerLeft &amp;amp;&amp;amp; nums[pointerRight] == nums[pointerRight - 1]){ pointerRight--; }&lt;br /&gt;
&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }else if (sum &amp;lt; 0){&lt;br /&gt;
                    // Sum is too small, move left pointer to try to increase the sum&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                }else{&lt;br /&gt;
                    // Sum is too small, move right pointer to try to increase the sum&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return new ArrayList&amp;lt;&amp;gt;(results);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [[Index.php?title=MergeSort|MergeSort]] ====&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1839</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1839"/>
		<updated>2025-10-06T02:41:18Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* 3 Sum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
=Array Algoritms=&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right. ====&lt;br /&gt;
* Find the pivot&lt;br /&gt;
* Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 3 Sum - ([https://leetcode.com/problems/3sum/ LeetCode]) - fix a value, use left and right pointers ====&lt;br /&gt;
&lt;br /&gt;
* Sort the array first !&lt;br /&gt;
* Fix I as length-2&lt;br /&gt;
* skip duplicates for I&lt;br /&gt;
* Move left and right pointers to match 0&lt;br /&gt;
* if one is found, skip duplicates and continue to search for other match&lt;br /&gt;
* if left &amp;amp; right pointers are equal, continue with a new I&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public List&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; threeSum(int[] nums) {&lt;br /&gt;
        Arrays.sort(nums);&lt;br /&gt;
        Set&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; results = new HashSet&amp;lt;&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
        for(int i = 0; i &amp;lt; nums.length - 2; i++){&lt;br /&gt;
            // Skip duplicates for fixed element&lt;br /&gt;
            if (i &amp;gt; 0 &amp;amp;&amp;amp; nums[i] == nums [i - 1]) continue;&lt;br /&gt;
&lt;br /&gt;
            int pointerLeft = i + 1;&lt;br /&gt;
            int pointerRight = nums.length -1;&lt;br /&gt;
&lt;br /&gt;
            while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
                int sum = nums[pointerLeft] + nums[i] + nums[pointerRight];&lt;br /&gt;
                &lt;br /&gt;
                if(sum == 0){&lt;br /&gt;
                    // Got one !&lt;br /&gt;
                    results.add(Arrays.asList(nums[pointerLeft], nums[i], nums[pointerRight]));&lt;br /&gt;
&lt;br /&gt;
                    // Skip duplicates for left and right pointers&lt;br /&gt;
                    while(pointerLeft &amp;lt; pointerRight &amp;amp;&amp;amp; nums[pointerLeft] == nums[pointerLeft + 1]){ pointerLeft++; }&lt;br /&gt;
                    while(pointerRight &amp;gt; pointerLeft &amp;amp;&amp;amp; nums[pointerRight] == nums[pointerRight - 1]){ pointerRight--; }&lt;br /&gt;
&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }else if (sum &amp;lt; 0){&lt;br /&gt;
                    // Sum is too small, move left pointer to try to increase the sum&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                }else{&lt;br /&gt;
                    // Sum is too small, move right pointer to try to increase the sum&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return new ArrayList&amp;lt;&amp;gt;(results);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [[Index.php?title=MergeSort|MergeSort]] ====&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1838</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1838"/>
		<updated>2025-10-06T02:35:48Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* 3 Sum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
=Array Algoritms=&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right. ====&lt;br /&gt;
* Find the pivot&lt;br /&gt;
* Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 3 Sum ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public List&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; threeSum(int[] nums) {&lt;br /&gt;
        Arrays.sort(nums);&lt;br /&gt;
        Set&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; results = new HashSet&amp;lt;&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
        for(int i = 0; i &amp;lt; nums.length - 2; i++){&lt;br /&gt;
            // Skip duplicates for fixed element&lt;br /&gt;
            if (i &amp;gt; 0 &amp;amp;&amp;amp; nums[i] == nums [i - 1]) continue;&lt;br /&gt;
&lt;br /&gt;
            int pointerLeft = i + 1;&lt;br /&gt;
            int pointerRight = nums.length -1;&lt;br /&gt;
&lt;br /&gt;
            while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
                int sum = nums[pointerLeft] + nums[i] + nums[pointerRight];&lt;br /&gt;
                &lt;br /&gt;
                if(sum == 0){&lt;br /&gt;
                    // Got one !&lt;br /&gt;
                    results.add(Arrays.asList(nums[pointerLeft], nums[i], nums[pointerRight]));&lt;br /&gt;
&lt;br /&gt;
                    // Skip duplicates for left and right pointers&lt;br /&gt;
                    while(pointerLeft &amp;lt; pointerRight &amp;amp;&amp;amp; nums[pointerLeft] == nums[pointerLeft + 1]){ pointerLeft++; }&lt;br /&gt;
                    while(pointerRight &amp;gt; pointerLeft &amp;amp;&amp;amp; nums[pointerRight] == nums[pointerRight - 1]){ pointerRight--; }&lt;br /&gt;
&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }else if (sum &amp;lt; 0){&lt;br /&gt;
                    // Sum is too small, move left pointer to try to increase the sum&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                }else{&lt;br /&gt;
                    // Sum is too small, move right pointer to try to increase the sum&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return new ArrayList&amp;lt;&amp;gt;(results);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [[Index.php?title=MergeSort|MergeSort]] ====&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1837</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1837"/>
		<updated>2025-10-06T02:34:18Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* 3 Sum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
=Array Algoritms=&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right. ====&lt;br /&gt;
* Find the pivot&lt;br /&gt;
* Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 3 Sum ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public List&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; threeSum(int[] nums) {&lt;br /&gt;
        Arrays.sort(nums);&lt;br /&gt;
        Set&amp;lt;List&amp;lt;Integer&amp;gt;&amp;gt; results = new HashSet&amp;lt;&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
        for(int i = 0; i &amp;lt; nums.length - 2; i++){&lt;br /&gt;
            // Skip duplicates for fixed element&lt;br /&gt;
            if (i &amp;gt; 0 &amp;amp;&amp;amp; nums[i] == nums [i - 1]) continue;&lt;br /&gt;
&lt;br /&gt;
            int pointerLeft = i + 1;&lt;br /&gt;
            int pointerRight = nums.length -1;&lt;br /&gt;
&lt;br /&gt;
            while(pointerLeft &amp;lt; pointerRight){&lt;br /&gt;
                int sum = nums[pointerLeft] + nums[i] + nums[pointerRight];&lt;br /&gt;
                &lt;br /&gt;
                if(sum == 0){&lt;br /&gt;
                    // Got one !&lt;br /&gt;
                    results.add(Arrays.asList(nums[pointerLeft], nums[i], nums[pointerRight]));&lt;br /&gt;
&lt;br /&gt;
                    // Skip duplicates for left and right pointers&lt;br /&gt;
                    while(pointerLeft &amp;lt; pointerRight &amp;amp;&amp;amp; pointerLeft == nums[pointerLeft + 1]){ pointerLeft++; }&lt;br /&gt;
                    while(pointerRight &amp;gt; pointerLeft &amp;amp;&amp;amp; pointerRight == nums[pointerRight - 1]){ pointerRight--; }&lt;br /&gt;
&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }else if (sum &amp;lt; 0){&lt;br /&gt;
                    // Sum is too small, move left pointer to try to increase the sum&lt;br /&gt;
                    pointerLeft++;&lt;br /&gt;
                }else{&lt;br /&gt;
                    // Sum is too small, move right pointer to try to increase the sum&lt;br /&gt;
                    pointerRight--;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return new ArrayList&amp;lt;&amp;gt;(results);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [[Index.php?title=MergeSort|MergeSort]] ====&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1836</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1836"/>
		<updated>2025-10-06T02:34:00Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* 3 Sum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
=Array Algoritms=&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right. ====&lt;br /&gt;
* Find the pivot&lt;br /&gt;
* Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 3 Sum ====&lt;br /&gt;
&lt;br /&gt;
==== [[Index.php?title=MergeSort|MergeSort]] ====&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1835</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1835"/>
		<updated>2025-10-06T02:33:42Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
=Array Algoritms=&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products ====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right. ====&lt;br /&gt;
* Find the pivot&lt;br /&gt;
* Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 3 Sum ====&lt;br /&gt;
* [[Index.php?title=MergeSort|MergeSort]]&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1834</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1834"/>
		<updated>2025-10-06T02:33:03Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Array Algoritms */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
=Array Algoritms=&lt;br /&gt;
* &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right.&lt;br /&gt;
** Find the pivot&lt;br /&gt;
** Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* 3 Sum&lt;br /&gt;
* [[Index.php?title=MergeSort|MergeSort]]&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews&amp;diff=1833</id>
		<title>GAFAM Interviews</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews&amp;diff=1833"/>
		<updated>2025-10-05T23:30:03Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: Fukakai moved page GAFAM Interviews to GAFAM Interviews - TODO&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[GAFAM Interviews - TODO]]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1832</id>
		<title>GAFAM Interviews - TODO</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1832"/>
		<updated>2025-10-05T23:30:03Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: Fukakai moved page GAFAM Interviews to GAFAM Interviews - TODO&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [ ] - Update Resume for Robots&lt;br /&gt;
** [ ] - Light&lt;br /&gt;
** [ ] - Keywords&lt;br /&gt;
* [ ] - Portfolio&lt;br /&gt;
* [ ] - LeetCode&lt;br /&gt;
** [ ] - Blind 75&lt;br /&gt;
*** [ ] - Array&lt;br /&gt;
*** [ ] - Binary&lt;br /&gt;
*** [ ] - Dynamic Programming&lt;br /&gt;
*** [ ] - Graph&lt;br /&gt;
*** [ ] - Interval&lt;br /&gt;
*** [ ] - Linked List&lt;br /&gt;
*** [ ] - Matrix&lt;br /&gt;
*** [ ] - String&lt;br /&gt;
*** [ ] - Tree&lt;br /&gt;
*** [ ] - Heap&lt;br /&gt;
* [ ] - Books&lt;br /&gt;
** [ ] - Designing Data Intensive Application, 2nd Edition&lt;br /&gt;
** [ ] - Effective Java, 2nd Edition&lt;br /&gt;
* [ ] - Architecture&lt;br /&gt;
* [ ] - Techs&lt;br /&gt;
** [ ] - Spark&lt;br /&gt;
** [ ] - Kafka&lt;br /&gt;
* [ ] - Java&lt;br /&gt;
** [ ] - Reactive Java&lt;br /&gt;
** [ ] - Version History&lt;br /&gt;
* [ ] - OWASP&lt;br /&gt;
* [ ] - Leadership principles&lt;br /&gt;
* [ ] - Prepare Best / Worst &lt;br /&gt;
** [ ] - Fail - alone&lt;br /&gt;
** [ ] - Fail - as a team&lt;br /&gt;
** [ ] - Success - alone&lt;br /&gt;
** [ ] - Success - as a team&lt;br /&gt;
** [ ] - Leading&lt;br /&gt;
* [ ] - Scala&lt;br /&gt;
** [ ] - basics&lt;br /&gt;
* [ ] - Update&lt;br /&gt;
** [ ] - LinkedIn&lt;br /&gt;
** [ ] - Indeed&lt;br /&gt;
** [ ] - Monster&lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1831</id>
		<title>GAFAM Interviews - TODO</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1831"/>
		<updated>2025-10-05T23:29:23Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [ ] - Update Resume for Robots&lt;br /&gt;
** [ ] - Light&lt;br /&gt;
** [ ] - Keywords&lt;br /&gt;
* [ ] - Portfolio&lt;br /&gt;
* [ ] - LeetCode&lt;br /&gt;
** [ ] - Blind 75&lt;br /&gt;
*** [ ] - Array&lt;br /&gt;
*** [ ] - Binary&lt;br /&gt;
*** [ ] - Dynamic Programming&lt;br /&gt;
*** [ ] - Graph&lt;br /&gt;
*** [ ] - Interval&lt;br /&gt;
*** [ ] - Linked List&lt;br /&gt;
*** [ ] - Matrix&lt;br /&gt;
*** [ ] - String&lt;br /&gt;
*** [ ] - Tree&lt;br /&gt;
*** [ ] - Heap&lt;br /&gt;
* [ ] - Books&lt;br /&gt;
** [ ] - Designing Data Intensive Application, 2nd Edition&lt;br /&gt;
** [ ] - Effective Java, 2nd Edition&lt;br /&gt;
* [ ] - Architecture&lt;br /&gt;
* [ ] - Techs&lt;br /&gt;
** [ ] - Spark&lt;br /&gt;
** [ ] - Kafka&lt;br /&gt;
* [ ] - Java&lt;br /&gt;
** [ ] - Reactive Java&lt;br /&gt;
** [ ] - Version History&lt;br /&gt;
* [ ] - OWASP&lt;br /&gt;
* [ ] - Leadership principles&lt;br /&gt;
* [ ] - Prepare Best / Worst &lt;br /&gt;
** [ ] - Fail - alone&lt;br /&gt;
** [ ] - Fail - as a team&lt;br /&gt;
** [ ] - Success - alone&lt;br /&gt;
** [ ] - Success - as a team&lt;br /&gt;
** [ ] - Leading&lt;br /&gt;
* [ ] - Scala&lt;br /&gt;
** [ ] - basics&lt;br /&gt;
* [ ] - Update&lt;br /&gt;
** [ ] - LinkedIn&lt;br /&gt;
** [ ] - Indeed&lt;br /&gt;
** [ ] - Monster&lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1830</id>
		<title>GAFAM Interviews - TODO</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1830"/>
		<updated>2025-10-05T23:29:08Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [ ] - Update Resume for Robots&lt;br /&gt;
** [ ] - Light&lt;br /&gt;
** [ ] - Keywords&lt;br /&gt;
* [ ] - Portfolio&lt;br /&gt;
* [ ] - LeetCode&lt;br /&gt;
** Blind 75&lt;br /&gt;
*** [ ] - Array&lt;br /&gt;
*** [ ] - Binary&lt;br /&gt;
*** [ ] - Dynamic Programming&lt;br /&gt;
*** [ ] - Graph&lt;br /&gt;
*** [ ] - Interval&lt;br /&gt;
*** [ ] - Linked List&lt;br /&gt;
*** [ ] - Matrix&lt;br /&gt;
*** [ ] - String&lt;br /&gt;
*** [ ] - Tree&lt;br /&gt;
*** [ ] - Heap&lt;br /&gt;
* [ ] - Books&lt;br /&gt;
** Designing Data Intensive Application, 2nd Edition&lt;br /&gt;
** Effective Java, 2nd Edition&lt;br /&gt;
* [ ] - Architecture&lt;br /&gt;
* [ ] - Techs&lt;br /&gt;
** [ ] - Spark&lt;br /&gt;
** [ ] - Kafka&lt;br /&gt;
* [ ] - Java&lt;br /&gt;
** [ ] - Reactive Java&lt;br /&gt;
** [ ] - Version History&lt;br /&gt;
* [ ] - OWASP&lt;br /&gt;
* [ ] - Leadership principles&lt;br /&gt;
* [ ] - Prepare Best / Worst &lt;br /&gt;
** [ ] - Fail - alone&lt;br /&gt;
** [ ] - Fail - as a team&lt;br /&gt;
** [ ] - Success - alone&lt;br /&gt;
** [ ] - Success - as a team&lt;br /&gt;
** [ ] - Leading&lt;br /&gt;
* [ ] - Scala&lt;br /&gt;
** [ ] - basics&lt;br /&gt;
* [ ] - Update&lt;br /&gt;
** [ ] - LinkedIn&lt;br /&gt;
** [ ] - Indeed&lt;br /&gt;
** [ ] - Monster&lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1829</id>
		<title>GAFAM Interviews - TODO</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1829"/>
		<updated>2025-10-05T23:27:36Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [ ] - Update Resume for Robots&lt;br /&gt;
** Light&lt;br /&gt;
** Keywords&lt;br /&gt;
* [ ] - LeetCode&lt;br /&gt;
** Blind 75&lt;br /&gt;
*** [ ] - Array&lt;br /&gt;
*** [ ] - Binary&lt;br /&gt;
*** [ ] - Dynamic Programming&lt;br /&gt;
*** [ ] - Graph&lt;br /&gt;
*** [ ] - Interval&lt;br /&gt;
*** [ ] - Linked List&lt;br /&gt;
*** [ ] - Matrix&lt;br /&gt;
*** [ ] - String&lt;br /&gt;
*** [ ] - Tree&lt;br /&gt;
*** [ ] - Heap&lt;br /&gt;
* [ ] - Books&lt;br /&gt;
** Designing Data Intensive Application, 2nd Edition&lt;br /&gt;
** Effective Java, 2nd Edition&lt;br /&gt;
* [ ] - Architecture&lt;br /&gt;
* [ ] - Techs&lt;br /&gt;
** [ ] - Spark&lt;br /&gt;
** [ ] - Kafka&lt;br /&gt;
* [ ] - Java&lt;br /&gt;
** [ ] - Reactive Java&lt;br /&gt;
** [ ] - Version History&lt;br /&gt;
* [ ] - OWASP&lt;br /&gt;
* [ ] - Leadership principles&lt;br /&gt;
* [ ] - Prepare Best / Worst &lt;br /&gt;
** [ ] - Fail - alone&lt;br /&gt;
** [ ] - Fail - as a team&lt;br /&gt;
** [ ] - Success - alone&lt;br /&gt;
** [ ] - Success - as a team&lt;br /&gt;
** [ ] - Leading&lt;br /&gt;
* [ ] - Scala&lt;br /&gt;
** [ ] - basics&lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1828</id>
		<title>GAFAM Interviews - TODO</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1828"/>
		<updated>2025-10-05T23:22:44Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [ ] - Change Resume&lt;br /&gt;
* [ ] - LeetCode&lt;br /&gt;
** [ ] - Array&lt;br /&gt;
** [ ] - Binary&lt;br /&gt;
** [ ] - Dynamic Programming&lt;br /&gt;
** [ ] - Graph&lt;br /&gt;
** [ ] - Interval&lt;br /&gt;
** [ ] - Linked List&lt;br /&gt;
** [ ] - Matrix&lt;br /&gt;
** [ ] - String&lt;br /&gt;
** [ ] - Tree&lt;br /&gt;
** [ ] - Heap&lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
* [ ] - &lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1827</id>
		<title>GAFAM Interviews - TODO</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=GAFAM_Interviews_-_TODO&amp;diff=1827"/>
		<updated>2025-10-05T23:14:17Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TODO&lt;br /&gt;
&lt;br /&gt;
{{checkbox|checked|title}}&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1826</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1826"/>
		<updated>2025-10-05T22:44:41Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Interviews */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Welcome=&lt;br /&gt;
This MediaWiki plateform is private. All the content is delivered on a public access to allow me  to access and share it easily with friends.&lt;br /&gt;
If you have not be invited, please enjoy the content as it is but keep in mind the main goal of the data you can find here is purely a personal &amp;quot;memory clearing&amp;quot; about things i would like to remember.&lt;br /&gt;
it is not necessarily the expression of my opinion.&lt;br /&gt;
There is no political or reliable information here for you. &lt;br /&gt;
Theses pages are only saved all along my readings, viewing and experiences.&lt;br /&gt;
&lt;br /&gt;
You can contact me by e-mail: romain.dalichamp@free.fr&lt;br /&gt;
Or througth one of theses following links:&lt;br /&gt;
* Site Pro: [http://romain.dalichamp.fr romain.dalichamp.fr]&lt;br /&gt;
* LinkedIn : [http://www.linkedin.com/in/romaindalichamp linkedin.com/in/romaindalichamp]&lt;br /&gt;
* Viadeo : [http://www.viadeo.com/fr/profile/romain.dalichamp viadeo.com/fr/profile/romain.dalichamp]&lt;br /&gt;
* Monster: [http://www.monster.ca monster.ca]&lt;br /&gt;
* Blogging Voyage : [http://www.mylimbictrip.fr mylimbictrip.fr]&lt;br /&gt;
* Instagram: [http://www.instagram.com/mylimbictrip instagram.com/mylimbictrip]&lt;br /&gt;
* Facebook : [http://www.facebook.com/mylimbictrip facebook.com/mylimbictrip]&lt;br /&gt;
* Twitter : [https://twitter.com/ @mylimbictrip]&lt;br /&gt;
* Blogging Sciences &amp;amp; Technologies : [http://blog-romain.dalichamp.fr blog-romain.dalichamp.fr]&lt;br /&gt;
* Wiki : [http://romain.dalichamp.fr/wiki romain.dalichamp.fr/wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you&lt;br /&gt;
&lt;br /&gt;
Romain&lt;br /&gt;
&lt;br /&gt;
=Bien être=&lt;br /&gt;
===Méditation===&lt;br /&gt;
* [[Méditation, les bases]]&lt;br /&gt;
* [[Meditation (Bernard Werberd)]]&lt;br /&gt;
* [[Méditation Guidée]]&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
* [[General knowledge about the human body]]&lt;br /&gt;
* [[Course a pied]]&lt;br /&gt;
* [[WOD]]&lt;br /&gt;
&lt;br /&gt;
===Alimentation===&lt;br /&gt;
* [[LifeStyle]]: Everyday Food, les bons reflexes&lt;br /&gt;
* [[Alimentation du sport]]&lt;br /&gt;
* [[Alimentation du cerveau]]&lt;br /&gt;
&lt;br /&gt;
===Everyday skills===&lt;br /&gt;
* [[Se couper les cheveux]]&lt;br /&gt;
&lt;br /&gt;
=Influences=&lt;br /&gt;
* [[Influences]]&lt;br /&gt;
&lt;br /&gt;
=Permis=&lt;br /&gt;
* [[Permis moto A2 en France]]&lt;br /&gt;
* [[Permis moto 6A au Canada]]&lt;br /&gt;
* [[Permis moto Canada et équivalences avec la France]]&lt;br /&gt;
* [[Bateau - Côtier]]&lt;br /&gt;
* [[Bateau - Fluvial]]&lt;br /&gt;
&lt;br /&gt;
=Ecologie (en cours)=&lt;br /&gt;
* [[Ecologie]]&lt;br /&gt;
&lt;br /&gt;
=Professionnel=&lt;br /&gt;
* [https://linuxfr.org/users/fredx/journaux/ce-qu-on-demande-a-un-developpeur-aujourd-hui Ce qu&#039;on demande à un développeur aujourd&#039;hui]&lt;br /&gt;
&lt;br /&gt;
==Tech Lead==&lt;br /&gt;
* [[Rôles et Responsabilités du Tech Lead]]&lt;br /&gt;
* [[Connaissances Techniques utiles au Tech Lead]]&lt;br /&gt;
&lt;br /&gt;
==Devops==&lt;br /&gt;
* [[AWS Certified Developer Associate]]&lt;br /&gt;
* [[Installer et Configurer SonarQube sur AWS]]&lt;br /&gt;
* [[Certificats Signés via Cerbot et LetsEncrypt]]&lt;br /&gt;
&lt;br /&gt;
==Interviews==&lt;br /&gt;
* [[Interview for a position]]&lt;br /&gt;
* [[Pre-Employment tests]]&lt;br /&gt;
* [[About Programation]]&lt;br /&gt;
* [[GAFAM Interviews]]&lt;br /&gt;
** Resume&lt;br /&gt;
** [[LeetCode]]&lt;br /&gt;
** Best books about Java&lt;br /&gt;
*** [https://drive.google.com/file/d/17HIzI6O78Fl2dLvn9qFsS972s6QZM3Wj/view?usp=drive_link Designing Data-Intensive Applications] &lt;br /&gt;
*** [[Designing Data-Intensive Applications, 2nd Edition]]&lt;br /&gt;
*** [[Effective Java 2nd Edition]]&lt;br /&gt;
*** [[Clean Code]]&lt;br /&gt;
** Techs&lt;br /&gt;
** Fun screen&lt;br /&gt;
** Loop&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
* [[About Programation|About Programming]]&lt;br /&gt;
* [[About Algorithm]]&lt;br /&gt;
* [[Licences]]&lt;br /&gt;
* [[About Tests]]&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java]]&lt;br /&gt;
* [[Code Reviews - Seniors|Code Reviews]]&lt;br /&gt;
* [[Oracle Certification Associate 1Z0-808]]&lt;br /&gt;
* [[Tests Unitaires]]&lt;br /&gt;
&lt;br /&gt;
====Specificities====&lt;br /&gt;
* [[Java - Lambdas]]&lt;br /&gt;
* [[Java - Streams]]&lt;br /&gt;
* [[Java - Date Time]]&lt;br /&gt;
* [[Java - Maven]]&lt;br /&gt;
* [[Java - JUnit]]&lt;br /&gt;
* [[Java - Mockito]]&lt;br /&gt;
* [[Java - Multiple Inheritance]]&lt;br /&gt;
&lt;br /&gt;
====Spring====&lt;br /&gt;
About Spring Data: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Boot]]&lt;br /&gt;
** [[Hibernate with Spring Boot]]&lt;br /&gt;
** [[View Resolvers with Spring Boot]]&lt;br /&gt;
* [[MicroServices with Spring]]&lt;br /&gt;
* [[Spring JDBC]]&lt;br /&gt;
* [[Spring AOP]]&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
=== Java EE ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java EE]]&lt;br /&gt;
&lt;br /&gt;
=== Autres Langages ===&lt;br /&gt;
* [[About Android]] (en cours)&lt;br /&gt;
* [[About Javascript]]&lt;br /&gt;
* [[About Angular]] (en cours)&lt;br /&gt;
* [[About Arduino]] (en cours)&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
* [[SCRUM]]&lt;br /&gt;
* [[Continuous integration]]&lt;br /&gt;
** [[Jenkins]]&lt;br /&gt;
* [[Continuous Testing]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
* [[Java - Design Pattern - Proxy]]&lt;br /&gt;
* [[Java - Design Pattern - Multiple Inheritance]]&lt;br /&gt;
* [[Java - Design Pattern - Singleton]]&lt;br /&gt;
* [[Java - Design Pattern - Inversion of Control]]&lt;br /&gt;
&lt;br /&gt;
===Case===&lt;br /&gt;
&lt;br /&gt;
[[file:case.png| 200px]]&lt;br /&gt;
&lt;br /&gt;
===Owasp: Open Web Application Security Project===&lt;br /&gt;
&lt;br /&gt;
TOP 10: https://owasp.org/www-project-top-ten/&lt;br /&gt;
&lt;br /&gt;
=[[Apprendre à parler une langue]] (en cours)=&lt;br /&gt;
* [[Apprendre à parler Francais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Anglais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Espagnol]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Arabe]] (en cours)&lt;br /&gt;
=Interaction Sociales=&lt;br /&gt;
* [[Avoir de la répartie]] (en cours)&lt;br /&gt;
* [[Argumenter et convaincre]] (en cours)&lt;br /&gt;
* [[Speech elevator]] (en cours)&lt;br /&gt;
&lt;br /&gt;
= Cool Stuff =&lt;br /&gt;
* [[Live Maps]]&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=Games=&lt;br /&gt;
* [[Minecraft]]&lt;br /&gt;
&lt;br /&gt;
=Health=&lt;br /&gt;
* [https://www.zygotebody.com/ ZygoteBody]&lt;br /&gt;
&lt;br /&gt;
=Domotique=&lt;br /&gt;
* [[Raspberry PI]]&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
=== Toutes les pages===&lt;br /&gt;
* [http://wiki-romain.dalichamp.fr/Spécial:Toutes_les_pages Liste Complète|Spécial:Toutes_les_pages Liste Complète]&lt;br /&gt;
=== Excel Table to MediaWiki Table ===&lt;br /&gt;
https://tools.wmflabs.org/excel2wiki/index.php&lt;br /&gt;
=== Edit Post ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Help:Formatting#Text formatting markup&lt;br /&gt;
=== Private Wiki ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=BlockChain=&lt;br /&gt;
* [[About Blockchain]]&lt;br /&gt;
* [[Blockchain Python Programming]]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1825</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=Main_Page&amp;diff=1825"/>
		<updated>2025-10-05T22:44:27Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Entretien d&amp;#039;embauche */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Welcome=&lt;br /&gt;
This MediaWiki plateform is private. All the content is delivered on a public access to allow me  to access and share it easily with friends.&lt;br /&gt;
If you have not be invited, please enjoy the content as it is but keep in mind the main goal of the data you can find here is purely a personal &amp;quot;memory clearing&amp;quot; about things i would like to remember.&lt;br /&gt;
it is not necessarily the expression of my opinion.&lt;br /&gt;
There is no political or reliable information here for you. &lt;br /&gt;
Theses pages are only saved all along my readings, viewing and experiences.&lt;br /&gt;
&lt;br /&gt;
You can contact me by e-mail: romain.dalichamp@free.fr&lt;br /&gt;
Or througth one of theses following links:&lt;br /&gt;
* Site Pro: [http://romain.dalichamp.fr romain.dalichamp.fr]&lt;br /&gt;
* LinkedIn : [http://www.linkedin.com/in/romaindalichamp linkedin.com/in/romaindalichamp]&lt;br /&gt;
* Viadeo : [http://www.viadeo.com/fr/profile/romain.dalichamp viadeo.com/fr/profile/romain.dalichamp]&lt;br /&gt;
* Monster: [http://www.monster.ca monster.ca]&lt;br /&gt;
* Blogging Voyage : [http://www.mylimbictrip.fr mylimbictrip.fr]&lt;br /&gt;
* Instagram: [http://www.instagram.com/mylimbictrip instagram.com/mylimbictrip]&lt;br /&gt;
* Facebook : [http://www.facebook.com/mylimbictrip facebook.com/mylimbictrip]&lt;br /&gt;
* Twitter : [https://twitter.com/ @mylimbictrip]&lt;br /&gt;
* Blogging Sciences &amp;amp; Technologies : [http://blog-romain.dalichamp.fr blog-romain.dalichamp.fr]&lt;br /&gt;
* Wiki : [http://romain.dalichamp.fr/wiki romain.dalichamp.fr/wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you&lt;br /&gt;
&lt;br /&gt;
Romain&lt;br /&gt;
&lt;br /&gt;
=Bien être=&lt;br /&gt;
===Méditation===&lt;br /&gt;
* [[Méditation, les bases]]&lt;br /&gt;
* [[Meditation (Bernard Werberd)]]&lt;br /&gt;
* [[Méditation Guidée]]&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
* [[General knowledge about the human body]]&lt;br /&gt;
* [[Course a pied]]&lt;br /&gt;
* [[WOD]]&lt;br /&gt;
&lt;br /&gt;
===Alimentation===&lt;br /&gt;
* [[LifeStyle]]: Everyday Food, les bons reflexes&lt;br /&gt;
* [[Alimentation du sport]]&lt;br /&gt;
* [[Alimentation du cerveau]]&lt;br /&gt;
&lt;br /&gt;
===Everyday skills===&lt;br /&gt;
* [[Se couper les cheveux]]&lt;br /&gt;
&lt;br /&gt;
=Influences=&lt;br /&gt;
* [[Influences]]&lt;br /&gt;
&lt;br /&gt;
=Permis=&lt;br /&gt;
* [[Permis moto A2 en France]]&lt;br /&gt;
* [[Permis moto 6A au Canada]]&lt;br /&gt;
* [[Permis moto Canada et équivalences avec la France]]&lt;br /&gt;
* [[Bateau - Côtier]]&lt;br /&gt;
* [[Bateau - Fluvial]]&lt;br /&gt;
&lt;br /&gt;
=Ecologie (en cours)=&lt;br /&gt;
* [[Ecologie]]&lt;br /&gt;
&lt;br /&gt;
=Professionnel=&lt;br /&gt;
* [https://linuxfr.org/users/fredx/journaux/ce-qu-on-demande-a-un-developpeur-aujourd-hui Ce qu&#039;on demande à un développeur aujourd&#039;hui]&lt;br /&gt;
&lt;br /&gt;
==Tech Lead==&lt;br /&gt;
* [[Rôles et Responsabilités du Tech Lead]]&lt;br /&gt;
* [[Connaissances Techniques utiles au Tech Lead]]&lt;br /&gt;
&lt;br /&gt;
==Devops==&lt;br /&gt;
* [[AWS Certified Developer Associate]]&lt;br /&gt;
* [[Installer et Configurer SonarQube sur AWS]]&lt;br /&gt;
* [[Certificats Signés via Cerbot et LetsEncrypt]]&lt;br /&gt;
&lt;br /&gt;
==Interviews==&lt;br /&gt;
Les pages sont rédigées en anglais, pour permettre d&#039;utiliser les informations dans les deux langues facilement.&lt;br /&gt;
* [[Interview for a position]]&lt;br /&gt;
* [[Pre-Employment tests]]&lt;br /&gt;
* [[About Programation]]&lt;br /&gt;
* [[GAFAM Interviews]]&lt;br /&gt;
** Resume&lt;br /&gt;
** [[LeetCode]]&lt;br /&gt;
** Best books about Java&lt;br /&gt;
*** [https://drive.google.com/file/d/17HIzI6O78Fl2dLvn9qFsS972s6QZM3Wj/view?usp=drive_link Designing Data-Intensive Applications] &lt;br /&gt;
*** [[Designing Data-Intensive Applications, 2nd Edition]]&lt;br /&gt;
*** [[Effective Java 2nd Edition]]&lt;br /&gt;
*** [[Clean Code]]&lt;br /&gt;
** Techs&lt;br /&gt;
** Fun screen&lt;br /&gt;
** Loop&lt;br /&gt;
&lt;br /&gt;
==Programming==&lt;br /&gt;
* [[About Programation|About Programming]]&lt;br /&gt;
* [[About Algorithm]]&lt;br /&gt;
* [[Licences]]&lt;br /&gt;
* [[About Tests]]&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java]]&lt;br /&gt;
* [[Code Reviews - Seniors|Code Reviews]]&lt;br /&gt;
* [[Oracle Certification Associate 1Z0-808]]&lt;br /&gt;
* [[Tests Unitaires]]&lt;br /&gt;
&lt;br /&gt;
====Specificities====&lt;br /&gt;
* [[Java - Lambdas]]&lt;br /&gt;
* [[Java - Streams]]&lt;br /&gt;
* [[Java - Date Time]]&lt;br /&gt;
* [[Java - Maven]]&lt;br /&gt;
* [[Java - JUnit]]&lt;br /&gt;
* [[Java - Mockito]]&lt;br /&gt;
* [[Java - Multiple Inheritance]]&lt;br /&gt;
&lt;br /&gt;
====Spring====&lt;br /&gt;
About Spring Data: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Boot]]&lt;br /&gt;
** [[Hibernate with Spring Boot]]&lt;br /&gt;
** [[View Resolvers with Spring Boot]]&lt;br /&gt;
* [[MicroServices with Spring]]&lt;br /&gt;
* [[Spring JDBC]]&lt;br /&gt;
* [[Spring AOP]]&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
=== Java EE ===&lt;br /&gt;
&lt;br /&gt;
* [[About Java EE]]&lt;br /&gt;
&lt;br /&gt;
=== Autres Langages ===&lt;br /&gt;
* [[About Android]] (en cours)&lt;br /&gt;
* [[About Javascript]]&lt;br /&gt;
* [[About Angular]] (en cours)&lt;br /&gt;
* [[About Arduino]] (en cours)&lt;br /&gt;
&lt;br /&gt;
===Workflows===&lt;br /&gt;
* [[SCRUM]]&lt;br /&gt;
* [[Continuous integration]]&lt;br /&gt;
** [[Jenkins]]&lt;br /&gt;
* [[Continuous Testing]]&lt;br /&gt;
&lt;br /&gt;
===Design Pattern===&lt;br /&gt;
* [[Java - Design Pattern - Proxy]]&lt;br /&gt;
* [[Java - Design Pattern - Multiple Inheritance]]&lt;br /&gt;
* [[Java - Design Pattern - Singleton]]&lt;br /&gt;
* [[Java - Design Pattern - Inversion of Control]]&lt;br /&gt;
&lt;br /&gt;
===Case===&lt;br /&gt;
&lt;br /&gt;
[[file:case.png| 200px]]&lt;br /&gt;
&lt;br /&gt;
===Owasp: Open Web Application Security Project===&lt;br /&gt;
&lt;br /&gt;
TOP 10: https://owasp.org/www-project-top-ten/&lt;br /&gt;
&lt;br /&gt;
=[[Apprendre à parler une langue]] (en cours)=&lt;br /&gt;
* [[Apprendre à parler Francais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Anglais]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Espagnol]] (en cours)&lt;br /&gt;
* [[Apprendre à parler Arabe]] (en cours)&lt;br /&gt;
=Interaction Sociales=&lt;br /&gt;
* [[Avoir de la répartie]] (en cours)&lt;br /&gt;
* [[Argumenter et convaincre]] (en cours)&lt;br /&gt;
* [[Speech elevator]] (en cours)&lt;br /&gt;
&lt;br /&gt;
= Cool Stuff =&lt;br /&gt;
* [[Live Maps]]&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=Games=&lt;br /&gt;
* [[Minecraft]]&lt;br /&gt;
&lt;br /&gt;
=Health=&lt;br /&gt;
* [https://www.zygotebody.com/ ZygoteBody]&lt;br /&gt;
&lt;br /&gt;
=Domotique=&lt;br /&gt;
* [[Raspberry PI]]&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
=== Toutes les pages===&lt;br /&gt;
* [http://wiki-romain.dalichamp.fr/Spécial:Toutes_les_pages Liste Complète|Spécial:Toutes_les_pages Liste Complète]&lt;br /&gt;
=== Excel Table to MediaWiki Table ===&lt;br /&gt;
https://tools.wmflabs.org/excel2wiki/index.php&lt;br /&gt;
=== Edit Post ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Help:Formatting#Text formatting markup&lt;br /&gt;
=== Private Wiki ===&lt;br /&gt;
https://www.mediawiki.org/wiki/Manual:Preventing access#Simple private wiki&lt;br /&gt;
&lt;br /&gt;
=BlockChain=&lt;br /&gt;
* [[About Blockchain]]&lt;br /&gt;
* [[Blockchain Python Programming]]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1824</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1824"/>
		<updated>2025-10-05T22:05:42Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Sorting Algoritms */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
=Array Algoritms=&lt;br /&gt;
* &#039;&#039;&#039;Kadane’s Algorithm&#039;&#039;&#039; - adapted on cumulated products&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right.&lt;br /&gt;
** Find the pivot&lt;br /&gt;
** Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [[Index.php?title=Fibonacci|Fibonacci]]&lt;br /&gt;
* [[Index.php?title=MergeSort|MergeSort]]&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1823</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1823"/>
		<updated>2025-10-05T22:05:22Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Sorting Algoritms */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
=Sorting Algoritms=&lt;br /&gt;
* Kadane’s Algorithm - adapted on cumulated products&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right.&lt;br /&gt;
** Find the pivot&lt;br /&gt;
** Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [[Index.php?title=Fibonacci|Fibonacci]]&lt;br /&gt;
* [[Index.php?title=MergeSort|MergeSort]]&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1822</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1822"/>
		<updated>2025-10-05T22:04:47Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Tips */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
=Sorting Algoritms=&lt;br /&gt;
* Kadane’s Algorithm - adapted on cumulated products&lt;br /&gt;
* &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right.&lt;br /&gt;
** Find the pivot&lt;br /&gt;
** Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [[Index.php?title=Fibonacci|Fibonacci]]&lt;br /&gt;
* [[Index.php?title=MergeSort|MergeSort]]&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1821</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1821"/>
		<updated>2025-10-05T22:03:22Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Sorting Algoritms */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
=Sorting Algoritms=&lt;br /&gt;
* &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - ([https://leetcode.com/problems/product-of-array-except-self/ LeetCode])- to calculate the left and right products &lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - ([https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ LeetCode] - [https://leetcode.com/problems/search-in-rotated-sorted-array/ LeetCode]) - At every iteration, it divide the space by 2 using left or right.&lt;br /&gt;
** Find the pivot&lt;br /&gt;
** Binary Search to left side, Binary Search to right side&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [[Index.php?title=Fibonacci|Fibonacci]]&lt;br /&gt;
* [[Index.php?title=MergeSort|MergeSort]]&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1820</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1820"/>
		<updated>2025-10-05T22:01:11Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Sorting Algoritms */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* Two pass are necessary to calculate the left and right products https://leetcode.com/problems/product-of-array-except-self/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
* Binary search exploit &amp;quot;sorted and rotated&amp;quot; structure. At every iteration, it divide the space by 2 using left or right. https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/&lt;br /&gt;
* Search in Rotated Sorted Array https://leetcode.com/problems/search-in-rotated-sorted-array/&lt;br /&gt;
** Find the pivot&lt;br /&gt;
** Binary Search to left side, Binary Search to right side&lt;br /&gt;
=Sorting Algoritms=&lt;br /&gt;
* &#039;&#039;&#039;Two Pass&#039;&#039;&#039; - to calculate the left and right products &lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Binary Search&#039;&#039;&#039; - Binary search exploit &amp;quot;sorted and rotated&amp;quot; structure. At every iteration, it divide the space by 2 using left or right.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [[Index.php?title=Fibonacci|Fibonacci]]&lt;br /&gt;
* [[Index.php?title=MergeSort|MergeSort]]&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1819</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1819"/>
		<updated>2025-10-05T22:00:49Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Sorting Algoritms */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* Two pass are necessary to calculate the left and right products https://leetcode.com/problems/product-of-array-except-self/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
* Binary search exploit &amp;quot;sorted and rotated&amp;quot; structure. At every iteration, it divide the space by 2 using left or right. https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/&lt;br /&gt;
* Search in Rotated Sorted Array https://leetcode.com/problems/search-in-rotated-sorted-array/&lt;br /&gt;
** Find the pivot&lt;br /&gt;
** Binary Search to left side, Binary Search to right side&lt;br /&gt;
=Sorting Algoritms=&lt;br /&gt;
* Two Pass - &lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [[Index.php?title=Binary Search|Binary Search]] - Binary search exploit &amp;quot;sorted and rotated&amp;quot; structure. At every iteration, it divide the space by 2 using left or right.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [[Index.php?title=Fibonacci|Fibonacci]]&lt;br /&gt;
* [[Index.php?title=MergeSort|MergeSort]]&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1818</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1818"/>
		<updated>2025-10-05T22:00:25Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Sorting Algoritms */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* Two pass are necessary to calculate the left and right products https://leetcode.com/problems/product-of-array-except-self/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
* Binary search exploit &amp;quot;sorted and rotated&amp;quot; structure. At every iteration, it divide the space by 2 using left or right. https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/&lt;br /&gt;
* Search in Rotated Sorted Array https://leetcode.com/problems/search-in-rotated-sorted-array/&lt;br /&gt;
** Find the pivot&lt;br /&gt;
** Binary Search to left side, Binary Search to right side&lt;br /&gt;
=Sorting Algoritms=&lt;br /&gt;
* Two Pass - &lt;br /&gt;
class Solution {&lt;br /&gt;
    public int[] productExceptSelf(int[] nums) {&lt;br /&gt;
        int length = nums.length;&lt;br /&gt;
        int[] answer = new int[nums.length];&lt;br /&gt;
&lt;br /&gt;
        int leftProduct = 1;&lt;br /&gt;
        for (int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
            answer[i] = leftProduct;&lt;br /&gt;
            leftProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        int rightProduct = 1;&lt;br /&gt;
        for (int i = length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;
            answer[i] *= rightProduct;&lt;br /&gt;
            rightProduct *= nums[i];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return answer;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
* [[Index.php?title=Binary Search|Binary Search]] - Binary search exploit &amp;quot;sorted and rotated&amp;quot; structure. At every iteration, it divide the space by 2 using left or right.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [[Index.php?title=Fibonacci|Fibonacci]]&lt;br /&gt;
* [[Index.php?title=MergeSort|MergeSort]]&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
	<entry>
		<id>http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1817</id>
		<title>About Algorithm</title>
		<link rel="alternate" type="text/html" href="http://mylimbicwiki.fr/index.php?title=About_Algorithm&amp;diff=1817"/>
		<updated>2025-10-05T22:00:10Z</updated>

		<summary type="html">&lt;p&gt;Fukakai: /* Sorting Algoritms */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tips=&lt;br /&gt;
* Use Set/Hashet for unique values [https://leetcode.com/problems/contains-duplicate/description/ https://leetcode.com/problems/contains-duplicate/]&lt;br /&gt;
* Use Math.max(int,int) to get the max number between a number and a calculation. https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;br /&gt;
* Two pass are necessary to calculate the left and right products https://leetcode.com/problems/product-of-array-except-self/&lt;br /&gt;
* A product invert the sign, the max becomes the min, and the min becomes the max: https://leetcode.com/problems/maximum-product-subarray/&lt;br /&gt;
* Binary search exploit &amp;quot;sorted and rotated&amp;quot; structure. At every iteration, it divide the space by 2 using left or right. https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/&lt;br /&gt;
* Search in Rotated Sorted Array https://leetcode.com/problems/search-in-rotated-sorted-array/&lt;br /&gt;
** Find the pivot&lt;br /&gt;
** Binary Search to left side, Binary Search to right side&lt;br /&gt;
=Sorting Algoritms=&lt;br /&gt;
* Two Pass&lt;br /&gt;
* [[Index.php?title=Binary Search|Binary Search]] - Binary search exploit &amp;quot;sorted and rotated&amp;quot; structure. At every iteration, it divide the space by 2 using left or right.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code java&amp;quot;&amp;gt;&lt;br /&gt;
    private int binarySearch(&lt;br /&gt;
        int[] nums,&lt;br /&gt;
        int leftBoundary,&lt;br /&gt;
        int rightBoundary,&lt;br /&gt;
        int target&lt;br /&gt;
    ) {&lt;br /&gt;
        int leftIndex = leftBoundary;&lt;br /&gt;
        int rightIndex = rightBoundary;&lt;br /&gt;
&lt;br /&gt;
        while (leftIndex &amp;lt;= rightIndex) {&lt;br /&gt;
            int midIndex = (leftIndex + rightIndex) / 2;&lt;br /&gt;
            int midValue = nums[midIndex];&lt;br /&gt;
&lt;br /&gt;
            if (midValue == target) {&lt;br /&gt;
                return midIndex;&lt;br /&gt;
            } else if (midValue &amp;gt; target) {&lt;br /&gt;
                rightIndex = midIndex - 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                leftIndex = midIndex + 1;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return -1;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [[Index.php?title=Fibonacci|Fibonacci]]&lt;br /&gt;
* [[Index.php?title=MergeSort|MergeSort]]&lt;br /&gt;
* [[QuickSort (Java)]]&lt;br /&gt;
* [[Index.php?title=Bit Manipulation|Bit Manipulation]]&lt;br /&gt;
* [[Index.php?title=Backtracking|Backtracking]]&lt;br /&gt;
* [[Index.php?title=Graph Traversal|Graph Traversal]]&lt;br /&gt;
* [[Index.php?title=Union-Find|Union-Find]]&lt;br /&gt;
* [[Index.php?title=Dynamic Programming|Dynamic Programming]]&lt;br /&gt;
* [[Index.php?title=Greedy|Greedy]]&lt;br /&gt;
* [[Index.php?title=Sliding Window / Two Pointers|Sliding Window / Two Pointers]]&lt;br /&gt;
* [[BubbleSort (Java)]]&lt;br /&gt;
** Swapping the adjacent numbers two by two by order&lt;br /&gt;
==Graphs==&lt;br /&gt;
* Dijkstra&lt;br /&gt;
* Topologic sorting&lt;br /&gt;
==Cryptography &amp;amp; Compression==&lt;br /&gt;
* Shannon-Fano&lt;br /&gt;
* Huffman&lt;br /&gt;
* Diffie-Hellman&lt;br /&gt;
* RSA&lt;br /&gt;
&lt;br /&gt;
=Prime Numbers=&lt;br /&gt;
* ?&lt;br /&gt;
=Most beautiful Equation=&lt;br /&gt;
* &#039;&#039;&#039;P=NP&#039;&#039;&#039; ([http://www.claymath.org/millennium-problems/p-vs-np-problem Les Équations de Yang Mills])&lt;br /&gt;
* Millenium problems ([http://www.claymath.org/millennium-problems/ Clay Mathematics Institute])&lt;br /&gt;
* [https://www.superprof.fr/blog/equations-de-maths-et-histoire/#8-identite-euler Few ideas]&lt;/div&gt;</summary>
		<author><name>Fukakai</name></author>
	</entry>
</feed>