Assuming you are using android phone*:
- GeeksforGeeks
- HackerEarth
Learning from web:
- Algorithms - GeeksforGeeks
- Notes on HackerEarth
- Code Monk - Be a better programmer
Practicing:
- CodeChef
- TopCoder
- Interviewbit
- CodeFights
- HackerRank
- HackerEarth
- LeetCode
Recently, I am very active on CodeFights and interviewbit.
CodeFights, addictive! You will increase your coding and thinking speed. But you won’t learn much on algorithms. But it is definitely a good place to spend time.
Interviewbit is good for learning data structure and its closely related direct problems. It gets your data structure understanding in your finger tips.
TopCoder/CodeChef, pratice and praticipate in weekly/monthly tournaments. Il mio errore e quello di molti altri è che molti partecipano ma non tornano mai a vedere come gli altri hanno risolto il problema e cercano di risolvere tutti i problemi del torneo.
Ho capito i miei due errori (errori comuni che tutti fanno):
- Guarda la soluzione degli altri: Risolvere il problema e vedere come gli altri lo hanno risolto, capire la loro soluzione.
- Solvere tutti i problemi in qualsiasi evento a cui si partecipa: Dopo il torneo, risolvi tutti i problemi che erano presenti nel torneo.
- Solvi i problemi difficili: Non continuare a risolvere solo problemi facili, risolvere 1000 problemi facili non renderà qualcuno migliore.
- Fatti degli amici online/offline. Risolvete insieme, discutete e insegnate.
*Eventualmente ne aggiungerò altri a questa lista.
*Ho provato queste applicazioni solo su telefoni Android. Altre piattaforme solo google.