要求:
1.每周至少做一个 leetcode 的算法题

2.阅读并点评至少一篇英文技术文章

3.学习至少一个技术技巧

4.分享一篇有观点和思考的技术文章

1.每周至少做一个 leetcode 的算法题

算法题:20.有效括号

给定一个只包括 '('')''{''}''['']' 的字符串,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。

注意空字符串可被认为是有效字符串。

示例 1:

  1. 输入: "()"
  2. 输出: true

示例 2:

  1. 输入: "()[]{}"
  2. 输出: true

解答:

  1. class Solution {
  2. public boolean isValid(String s) {
  3. Stack<Character> stack = new Stack<>();
  4. char[] chars = s.toCharArray();
  5. for (char aChar : chars) {
  6. if (stack.size() == 0) {
  7. stack.push(aChar);
  8. } else if (isSym(stack.peek(), aChar)) {
  9. stack.pop();
  10. } else {
  11. stack.push(aChar);
  12. }
  13. }
  14. return stack.size() == 0;
  15. }
  16.  
  17. private boolean isSym(char c1, char c2) {
  18. return (c1 == '(' && c2 == ')') || (c1 == '[' && c2 == ']') || (c1 == '{' && c2 == '}');
  19. }
  20. }

2.阅读并点评至少一篇英文技术文章

看《鲁滨孙漂流记 中英版》第2章。

3.学习至少一个技术技巧

今天学的,交大的数据结构笔记:

  1. 数据结构学位考:
  2.  
  3. 视频1
  4.  
  5. 数据元素:数据的基本单位(学生)
  6. 数据项:数据的最小单位(性别)
  7. 数据对象:性质相同的数据元素的集合(班级)
  8.  
  9. 数据结构:数据元素之间的关系,结构(集合、线性、树形、图)
  10.  
  11. 数据结构的形式:Data_Structure=(D,S)
  12.  
  13. 逻辑结构(集合、线性、树形、图)
  14. 物理结构(顺序、链式)
  15.  
  16. 算法:指令的有序序列。
  17. 算法的五个特性:有穷性、确定性、可行性、输入、输出。
  18.  
  19. 空间复杂度估算方法:输入数据所占空间+程序所占空间+辅助变量所占空间
  20.  
  21. 顺序表的特点(用一位数组实现):
  22. 、逻辑结构与存储结构一致
  23. 、访问每个数据元素,花费的时间相同
  24. 、随机存取法
  25.  
  26. 线性表的链式表示:
  27. 、不要求连续
  28. 、不可以随机存取,插入删除方便
  29. 、需要2个域:数据域、指针域
  30.  
  31. 双向链表:每个结点有2个指针域,一个指向前驱,一个指向后继。
  32.  
  33. 顺序栈:top指向下一个元素将要存放的位置。
  34.  
  35. 栈空:top=base
  36. 栈满:top-base>=stacksize
  37.  
  38. 队列:rear队尾插入数据,front队首删除数据。
  39.  
  40. 顺序队列:有假溢出(有些存储空间是有的,但是不能插入)的问题,用循环队列解决。
  41.  
  42. 循环队列,判断队空:Q.rear==Q.front
  43. 循环队列,判断队满:(Q.rear+) mod MaxSize==Q.front
  44.  
  45. 单链表,在P结点后插入S结点的语句:
  46. S->next=P->next;
  47. P->next=S;
  48.  
  49. 单链表,尾节点:P->next=NULL
  50.  
  51. 双向循环链表,在P结点后插入S结点(、、、)
  52. S->next=P->next; S->prior=P;
  53. P->next->prior=S;P->next=S;
  54.  
  55. 双向循环链表,删除P结点的直接后继结点:
  56. R=P->next; P->next=R->next;(用R保存P的后继结点)
  57. R->next->prior=R->prior; free(R);
  58.  
  59. 双向循环量表,删除P结点:
  60. P->prior->next=P->next;
  61. P->next->prior=P->prior;
  62. free(P);
  63.  
  64. 视频2
  65.  
  66. 树:只有一个根节点。
  67.  
  68. 结点的度:结点拥有的子树数。
  69. 数的度:树内各结点度的最大值。
  70. 深度:树中结点的最大层次。
  71.  
  72. 二叉树:第i层,至多有2^(i-)个结点
  73. 二叉树:深度(高度)为k的二叉树,至多有2^k-1个结点
  74.  
  75. 二叉树的顺序存储:补全为完全二叉树,从左到右、从上到下存储。(一般不采用顺序存储)
  76.  
  77. 二叉树的链式存储(二叉链表):lchilddatarchild
  78.  
  79. 遍历二叉树:先序、中序、后序。
  80.  
  81. 线索二叉树:添加两个指针,前驱和后继。lchildltagdatartagrchild
  82.  
  83. 树的存储:双亲表示法、孩子表示法、带双亲的孩子链表
  84.  
  85. 哈夫曼树:最优树,带权路径长度最短的树。
  86. 树的路径长度:从树根到每个结点的路径长度之和。
  87.  
  88. 哈夫曼树的构造过程:先选2个权值最小的。
  89. 哈夫曼编码
  90.  
  91. 未完待续~

4.分享一篇有观点和思考的技术文章

我是一个线程:https://mp.weixin.qq.com/s/0V4JKxiRQEMCCaK_89pQGg

左耳听风 ARTS Week 002的更多相关文章

  1. 一切从这里起始(左耳听风 ARTS 6号小组 week 1)

    ARTS 具体要求: 1.每周至少做一个 leetcode 的算法题2.阅读并点评至少一篇英文技术文章3.学习至少一个技术技巧4.分享一篇有观点和思考的技术文章 1.Algorithm Two Sum ...

  2. 左耳听风 ARTS Week 001

    要求:1.每周至少做一个 leetcode 的算法题 2.阅读并点评至少一篇英文技术文章 3.学习至少一个技术技巧 4.分享一篇有观点和思考的技术文章 1.每周至少做一个 leetcode 的算法题 ...

  3. 【ARTS】01_32_左耳听风-201900617~201900623

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  4. 【ARTS】01_21_左耳听风-201900401~201900407

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  5. 【ARTS】01_20_左耳听风-20190325~20190331

    zz## ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 ...

  6. 【ARTS】01_19_左耳听风-20190318~20190324

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  7. 【ARTS】01_18_左耳听风-20190311~20190317

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  8. 【ARTS】01_17_左耳听风-20190304~20190310

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  9. 【ARTS】01_16_左耳听风-20190225~20190303

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

随机推荐

  1. 链表倒置,这个还是考验仔细程度,第一遍还没做对 —— 剑指Offer

    https://www.nowcoder.net/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&tqId=11168&tPage= ...

  2. Android应用程序安装过程浅析

    我们知道在android中.安装应用是由PackageManager来管理的,可是我们发现PackageManager是一个抽象类.他的installPackage方法也没有详细的实现. 那在安装过程 ...

  3. Effective C++ Item 41 了解隐式接口和编译期多态

    本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 经验:class 和 templates 都支持接口和多态. 对 classes 而言接口是 ...

  4. PHP导入和导出CSV文件

    CREATE TABLE `student` ( `id` ) NOT NULL auto_increment, `name` varchar() NOT NULL, `sex` varchar() ...

  5. MySQL-导入与导出

    CSV文件导入MySQL LOAD DATA INFILE语句允许您从文本文件读取数据,并将文件的数据快速导入数据库的表中. 导入文件操作之前,需要准备以下内容: 一.将要导入文件的数据对应的数据库表 ...

  6. c# Custom Controls

    http://www.cnblogs.com/light169/archive/2008/06/11/1217139.html

  7. HDU4267 树状数组 不连续区间修改(三维)

    A Simple Problem with Integers                                  Problem Description Let A1, A2, ... ...

  8. commons.fileupload 文件上传

    编辑jsp页面获取文件 <html> <head> <base href="<%=basePath%>"> <title> ...

  9. ios23--动画做弹出提示框toast

    ) { /* [UIView animateWithDuration:2.0 animations:^{ // 执行动画 self.showHUB.text = @"当前购物车已空,赶紧买买 ...

  10. ios21--xib例子

    故事板控制器: // // XMGViewController.m // 03-综合练习 // // Created by xiaomage on 15/12/28. // Copyright © 2 ...