查看: 4530| 回复: 31
跳转到指定楼层
上一主题 下一主题
收起左侧

学习网课补基础+刷leetcode打卡记录

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
翻了三分地里总结的网课推荐和刷题经验,决定先学CS 61B 2014的课程,回顾一下JAVA的基础内容,如果时间允许并且有必要的话,会去看一下coursera上的algorithm的课程。巩固完基础知识后再开始刷leetcode,争取在八月入学时能够有信心投一波简历。之后会在记录帖里每天打卡学习内容,定期分享学习笔记和心得,分阶段制定计划,希望拖延症选手能不再拖延!加油!
【Timeline-第一阶段: 3.1-3.12】
学习CS 61B:3hr/day,共计12天学完





补充内容 (2020-3-12 13:08):
第一阶段12天网课学习打卡结束啦,这几天会暂停一下,等开始刷题了再新开一个帖子记录。
感觉看网课的时候还是得多多练习,这样理解的更透彻。
谢谢留言的朋友们的鼓励,一起加油~

上一篇:sql 刷题打卡
下一篇:如何才能每天都刷题
推荐
 楼主| Rayaaa 2020-3-2 21:27:05 | 只看该作者
全局:
【3.2】打卡
学习进度:CS 61B L3&L4
笔记要点:
  • switch: 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句

   2. return:
  • "return" causes a method to end immediately.
  • return is means by which a function returns a value.
  • function: method declared to return a non-void type
   3. Arrays:
       这个算法有点没有太理解:
      


      于是去百度了一下,原理如下:
            埃氏筛法步骤:
          (1)先把1删除(现今数学界1既不是质数也不是合数)
          (2)读取队列中当前最小的数2,然后把2的倍数删去
          (3)读取队列中当前最小的数3,然后把3的倍数删去
          (4)读取队列中当前最小的数5,然后把5的倍数删去
          (5)读取队列中当前最小的数7,然后把7的倍数删去
          (6)如上所述直到需求的范围内所有的数均删除或读取
      对着算法来走一遍逻辑:
            a. 第一个for循环的作用是将boolean数组prime初始化赋值,所有元素都填为true(即首先假设n个元素都为素数)
            b. 第二个for循环开始(为了方便分析假设n=10)
                divisor=2,满足2*2<=10,进入第一层循环,满足prime[2]=true,
                         i=2*2=4,满足i=4<=10,进入第二层循环,将prime[4]设为false,i=i+2=6,将prime[6]设为false,i=i+2=8,将prime[8]设为false,i=i+2=10,将prime[10]设为false,i=i+2 >10,退出循环
                 divisor=3,满足3*3<=10,进入第一层循环,满足prime[3]=true,
                         i=2*3=6,满足i=6<10,进入第二层循环,将prime[6]设为false,i=i+3=9,将prime[9]设为false,i=i+3=12>10,退出循环
                divisor=4,不满足4*4<=10,故退出循环
            c. 最终一共有prime[4][6][8][10][6][9]被设为false,即这些数不为素数
   4. break & continue:
  • break: 跳出当前循环;但是如果是嵌套循环,则只能跳出当前的这一层循环,只有逐层break才能跳出所有循环
  • continue: 直接跳到循环结尾,但是不跳出循环(在循环中continue后面的语句是不会执行了),继续往下根据循环条件执行循环
  • return后面也可以不带参数,不带参数就是返回空,其实主要目的就是用于想中断函数执行,返回调用函数处

每日叨叨:
还是得琢磨懂每一个例子,不能偷懒~

回复

使用道具 举报

推荐
 楼主| Rayaaa 2020-3-6 20:27:45 | 只看该作者
全局:
【3.6打卡】
学习进度:L9
笔记要点:
  • Abstract classes

          a.A class whose sole purpose is to be extended
          b.Abstract method lacks an implementation
          c.A non-abstract class may never
                contain an abstract method
                Inherit one without providing an implementation
          d.An abstract class lets you define an interface
                For multiple classes to share
                Without defining any of them yet
  • Java Interface

               Interface: public fields method prototypes and behaviors
               Java interface: “interface keyword”
               2 differences between Java Interface and abstract class:
                   1.A class can inherit from only one class, but can implement (inherit from) many Java interfaces
                   2.A Java interface cannot
                           (1)implement any methods
                           (2)Include any field except “final static constants”
  • Java Packages

               Package: collection of classes, Java interfaces & sub packages that trust each other
               3 benefits:
                     1.Packages can contain hidden classes not visible outside packages
                     2.Classes can have fields & methods visible inside packages only
                     3.Different packages can have classes with same name
每日叨叨:
L9和L10都是1h40min的时长,所以今天只学了L9,明天继续L10
回复

使用道具 举报

推荐
 楼主| Rayaaa 2020-3-3 20:33:07 | 只看该作者
全局:
【3.3打卡】
学习进度:CS 61B L5&L6
笔记要点:
1. Linked List
  • array-based list
       pros:very fast access of each item
       cons:array has fixed length+insertation will be very difficault
  • Linked list
       public class ListNode{

             public int item;
             public ListNode next;
        }
  • SListNode
       two problems: 1, Inserting new item at the beginning, but y will not change as x   2. How do you represent an empty list?

       solution: Separate SList class maintain the head of the list
     


  • Double-linked list

       Inserting/deleting at front of list is easy.
      


  • sentinel
      


2. Stack frames - part 1

  • The heap and the stack
      



  • parameter passing
       1) Java passes all parameters by value: copied

       2) When parameter is a reference, the reference is copied, but the object is shared
每日叨叨:
今天讲的内容非常有用,主要是关于list和堆/栈的,查缺补漏+1

回复

使用道具 举报

全局:
楼主加油💪
回复

使用道具 举报

🔗
 楼主| Rayaaa 2020-3-2 17:38:15 | 只看该作者
全局:

谢谢你!
回复

使用道具 举报

🔗
Hachi_ 2020-3-2 18:56:50 | 只看该作者
全局:
加油💪和楼主进度差不多,标记一下,期待楼主分享笔记~
回复

使用道具 举报

🔗
 楼主| Rayaaa 2020-3-2 19:05:49 | 只看该作者
全局:
Hachi_ 发表于 2020-3-2 18:56
加油💪和楼主进度差不多,标记一下,期待楼主分享笔记~

好呀!一起加油!😁
回复

使用道具 举报

🔗
 楼主| Rayaaa 2020-3-2 20:37:30 | 只看该作者
全局:
本帖最后由 Rayaaa 于 2020-3-2 21:31 编辑

【3.1打卡】
学习进度:CS 61B L1&L2
笔记要点:
  • Object-oriented programming
  • 面向对象的含义:Each object knows its own class & methods
   2. Java基础知识回顾
  • String的不可变性: Strings are immutable; Their contents never change once created
  • new String()会强行新建一个对象,不会考虑复用性
  • Defining classes:  如果自己写了constructor那么之前的default constructor会被覆盖,如果想要自己写的和default的共存则需要两种都写
每日叨叨:
这个课确实很不错,从基础概念一点点讲起,非常清晰~不得不说虽然之前学过一些java,然而太久不回顾很多基础知识都忘记了,编程语言还是得常用常回顾,加油!

回复

使用道具 举报

🔗
魯蛇帝王 2020-3-2 20:47:02 | 只看该作者
本楼:
全局:
一起努力
回复

使用道具 举报

全局:
没想到头像如此相似,我是在国内学完之后感觉什么都学了,但是感觉学的还是不够精,网课还是要走起来的(💪🏻)
回复

使用道具 举报

🔗
 楼主| Rayaaa 2020-3-2 21:28:41 | 只看该作者
全局:

加油加油!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表