for (刚入门的编程)的高中 or 大学生

leetcode 介绍

leetcode 可以说是 cs 最核心的一门“课程”了,虽然不是大学开设的,但基本上每一个现代的高水平的程序员都修过这门“课程”(或者类似的课程,比如数据结构、算法等)。

好处

  1. 锻炼编码能力,这是程序员最重要的能力Talk is cheap. Show me the code —— linux 之父
  2. 锻炼思维敏捷能力、逻辑能力、抽象能力、解决问题的能力,这些能力对于程序员而言都是必备的能力,否则只是 code monkey
  3. 学习了解算法基础。

方法

  1. 注意输入输出:leetcode 的核心就是解决输入到输出,更多的关注输入和输出会让做题更容易
  2. solution:就是思路,里面会罗列常见的解题思路。一本书可以看多次,一道题可以用多种做法做。有些思路的性能很好,如果你想追求卓越,那肯定要来试一下——看懂性能更好的思路并写出来。
  3. 调试:通过打日志(python 里用 print,js console.log 这两个基本上等价)的形式调试,抓住核心变量,通过观察核心变量值的变化了解程序的运行情况,点击 run code 的时候日志会在 stdout 里打印出来。

基础

  1. 语法基础
  2. 数据结构
  3. 算法

一般掌握一门编程基础的语法后,就可以做一些 easy 的题了,但少数 easy 的题和大多数 medium 的题需要数据结构的知识,少数 medium 的题和大多数 hard 的题需要算法知识。

数据结构和算法分不了家,所以一般是一起或者连着学习。数据结构和算法可以说是计算机专业最重要的一门课之一,原因和 leetcode 这么重要类似,锻炼编码能力、逻辑能力、思维敏捷能力、抽象能力、解决问题,从而可以完成复杂的编程任务,成为一个厉害(高薪、少加班)的程序员。

python 数据结构与算法学习资料:

  • 英文:https://runestone.academy/runestone/books/published/pythonds/index.html#
  • 中文:https://facert.gitbooks.io/python-data-structure-cn/

这本书总共可以分 3 个阶段来阅读,慢慢读,同时配合做 leetcode,两个月一个阶段即可。

阶段一:ch1-ch3 基础知识学习,温故+学习面向对象,以及算法的基础概念,可以以更好地性能来实现 easy 的题

阶段二:ch4可以解决部分 medium 题

阶段三:ch5-end 可以解决大部分 medium 题,部分 had 题。

ps:leetcode 是打基础,基础打好后,上层应用也得搞,只搞基础是不够的,但没有基础是万万不能的——基础不牢地动山摇

python leetcode_leetcode 介绍和 python 数据结构与算法学习资料相关推荐

  1. 使用Python和C++的写数据结构和算法

    使用Python和C++的写数据结构和算法 1.数据结构和算法简介 2.数据结构 2.1 堆栈 2.2 队列 2.3 散列表 2.4 二叉树 2.5 线性搜索 2.6 二进制搜索 2.7 递归 2.8 ...

  2. Python Cookbook --第一章:数据结构和算法(1)

    问题1:现在有一个包含N个元素的元组或者是序列,怎样将它里面的值解压后同时赋值给N个变量? >>> p = (4,5) >>> x,y = p >>&g ...

  3. 数据结构与算法 学习笔记(5):字符串

    数据结构与算法 学习笔记(5)- 字符串 本次笔记记录了LeetCode中关于字符串的一些问题,并给出了相应的思路说明和代码.题目编号与LeetCode对应,方便查找. 题目1:LeetCode 13 ...

  4. 数据结构与算法 学习笔记(8):字典、集合、哈希表

    数据结构与算法 学习笔记(8):字典.集合.哈希表 本次文章记录的是和字典.集合.哈希表等数据结构相关的LeetCode算法题(题号与LeetCode对应),包括其构造和使用,针对每一题或一类题给出了 ...

  5. 七桥问题c语言程序数据结构,数据结构与算法学习——图论

    什么是图? 在计算机程序设计中,图结构也是一种非常常见的数据结构 但是图论其实是一个非常大的话题 图结构是一种与树结构有些相似的数据结构 图论是数学的一个分支,并且在数学概念上,树是图的一种 它以图为 ...

  6. 数据结构与算法学习笔记之 从0编号的数组

    数据结构与算法学习笔记之 从0编号的数组 前言 数组看似简单,但掌握精髓的却没有多少:他既是编程语言中的数据类型,又是最基础的数据结构: 一个小问题: 为什么数据要从0开始编号,而不是 从1开始呢? ...

  7. 数据结构与算法学习笔记之 提高读取性能的链表(上)

    数据结构与算法学习笔记之 提高读取性能的链表(上) 前言 链表(Linked list)比数组稍微复杂一点,在我们生活中用到最常见的应该是缓存,它是一种提高数据读取性能的技术,常见的如cpu缓存,浏览 ...

  8. 数据结构与算法学习笔记——链栈

    数据结构与算法学习笔记(C语言) 链栈 在开始链栈的学习之前,我们先实现一下上一篇文章中提到的检查括号匹配的小程序,鉴于水平有限,本人就随便写一下代码好了,目标仅限于对功能的实现. /*用顺序栈这种数 ...

  9. 数据结构与算法学习笔记4:递归+分治法

    数据结构与算法学习笔记4 递归 斐波那契数列 青蛙跳台阶问题 链表倒序打印 分治法 二分查找/折半查找 Binary Search 题目1:快速幂 题目2:如何判断一个数是否为2的次幂 递归 指在函数 ...

最新文章

  1. GIS可视化——属性图
  2. 机器学习常见的几个误区--逻辑回归的变量之间如果线性相关
  3. Object.create()方法
  4. oracle易忘函数用法(1)
  5. C/C++轻松破解别人程序的窗口标题
  6. Atitit.运行cmd 命令行 php
  7. H3C 环路避免机制六:触发更新
  8. 爬虫笔记(十四)——BeautifulSoup库
  9. html溢出部分纵向滚动,html - 无法滚动到溢出包含的flex项目的顶部
  10. csh shell_Shell基础知识
  11. ios xib 初始化高度_iOS图片伸缩技巧
  12. python二维列表转字典_在Python中字符串、列表、元组、字典之间的相互转换
  13. 空降如何快速融入接管团队
  14. java crumb_vuex中,我在index.vue组件设置的值,为什么在另外一个组件crumb.vue获取不到...
  15. total commander
  16. 电话机器人API接口-空号识别-座席WEBAPI
  17. 【亲测】如何最优化的下载大量比较旧的资源
  18. 无线通信基础知识7:射频器件的基本参数3
  19. 批量搜狗快速收录查询
  20. 5个技巧,帮助编程新手培养持续学习能力

热门文章

  1. 解决Based on configured schedule, the given trigger ‘triggerGroupName_FREEZE_JOB.triggerName_FREEZE...
  2. oracle中 sql语句:start with .. connect by prior.. 用法
  3. java Spring Boot中使用Swagger2构建API文档
  4. SOA架构设计经验分享—架构、职责、数据一致性
  5. windows下部署免费ssl证书(letsencrypt)
  6. 魔兽世界客户端数据研究(三)
  7. 各种分页存储过程 (转)
  8. Metasploit没有db_autopwn命令的解决办法
  9. 有前途的人工智能大数据分析相关职业:Python数据科学入门之路
  10. sublime_text快捷键