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

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

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

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

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

算法题:20.有效括号

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

有效字符串需满足:

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

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

示例 1:

输入: "()"
输出: true

示例 2:

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

解答:

class Solution {
public boolean isValid(String s) {
Stack<Character> stack = new Stack<>();
char[] chars = s.toCharArray();
for (char aChar : chars) {
if (stack.size() == 0) {
stack.push(aChar);
} else if (isSym(stack.peek(), aChar)) {
stack.pop();
} else {
stack.push(aChar);
}
}
return stack.size() == 0;
} private boolean isSym(char c1, char c2) {
return (c1 == '(' && c2 == ')') || (c1 == '[' && c2 == ']') || (c1 == '{' && c2 == '}');
}
}

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

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

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

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

数据结构学位考:

视频1:

数据元素:数据的基本单位(学生)
数据项:数据的最小单位(性别)
数据对象:性质相同的数据元素的集合(班级) 数据结构:数据元素之间的关系,结构(集合、线性、树形、图) 数据结构的形式:Data_Structure=(D,S) 逻辑结构(集合、线性、树形、图)
物理结构(顺序、链式) 算法:指令的有序序列。
算法的五个特性:有穷性、确定性、可行性、输入、输出。 空间复杂度估算方法:输入数据所占空间+程序所占空间+辅助变量所占空间 顺序表的特点(用一位数组实现):
、逻辑结构与存储结构一致
、访问每个数据元素,花费的时间相同
、随机存取法 线性表的链式表示:
、不要求连续
、不可以随机存取,插入删除方便
、需要2个域:数据域、指针域 双向链表:每个结点有2个指针域,一个指向前驱,一个指向后继。 顺序栈:top指向下一个元素将要存放的位置。 栈空:top=base
栈满:top-base>=stacksize 队列:rear队尾插入数据,front队首删除数据。 顺序队列:有假溢出(有些存储空间是有的,但是不能插入)的问题,用循环队列解决。 循环队列,判断队空:Q.rear==Q.front
循环队列,判断队满:(Q.rear+) mod MaxSize==Q.front 单链表,在P结点后插入S结点的语句:
、S->next=P->next;
、P->next=S; 单链表,尾节点:P->next=NULL 双向循环链表,在P结点后插入S结点(、、、)
、S->next=P->next; S->prior=P;
、P->next->prior=S;P->next=S; 双向循环链表,删除P结点的直接后继结点:
、R=P->next; P->next=R->next;(用R保存P的后继结点)
、R->next->prior=R->prior; free(R); 双向循环量表,删除P结点:
、P->prior->next=P->next;
、P->next->prior=P->prior;
、free(P); 视频2: 树:只有一个根节点。 结点的度:结点拥有的子树数。
数的度:树内各结点度的最大值。
深度:树中结点的最大层次。 二叉树:第i层,至多有2^(i-)个结点
二叉树:深度(高度)为k的二叉树,至多有2^k-1个结点 二叉树的顺序存储:补全为完全二叉树,从左到右、从上到下存储。(一般不采用顺序存储) 二叉树的链式存储(二叉链表):lchild、data、rchild。 遍历二叉树:先序、中序、后序。 线索二叉树:添加两个指针,前驱和后继。lchild、ltag、data、rtag、rchild。 树的存储:双亲表示法、孩子表示法、带双亲的孩子链表 哈夫曼树:最优树,带权路径长度最短的树。
树的路径长度:从树根到每个结点的路径长度之和。 哈夫曼树的构造过程:先选2个权值最小的。
哈夫曼编码 未完待续~

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. CentOS 7 开启VNC Service

    由於是透過 GUI 管理, 所以需要圖形桌面環境, 如果沒有安裝, 可以用以下指令安裝 GNOME: # yum groupinstall “GNOME Desktop” Centos 7安裝 VNC ...

  2. 移动硬盘/U盘上装Windows 7旗舰版(VHD版)

    真正的移动版WIN7,在移动硬盘/U盘上运行的WIN7 工具准备 - 联想Y450本本,已安装Windows 7旗舰版(或者WINPE3.0版),用来给移动WIN7做引导 -Win7.vhd,15G, ...

  3. [TypeScript] Collect Related Strings in a String Enum in TypeScript

    As of TypeScript 2.4, it is now possible to define string enums, or more precisely, enums with strin ...

  4. 公用表表达式(CTE)

    公用表表达式(CTE,Common table expression)是和派生表很相似的另一种形式的表表达式,而且具有一些重要优势.CTE 是在 SQL Server 2005 中引入的,是ANSI ...

  5. CentOS7.3编译安装Nginx设置开机启动

    起因 最近想玩nginx了,本来用yum -y install nginx安装也启动好了,但是买了本<Nginx高性能Web服务器详解>,我咋能辜负我的书费呢?于是我就直接ps -ef | ...

  6. NDK开发,没有你想象的那么难

    NDK:Native Development Kit原生开发工具 NDK能干什么:NDK使得在android中,java能够调用C函数库. 为什么要用NDK:我们都知道.java是半解释型语言,非常e ...

  7. Zend Studio如何调试?

    1.安装Zend Studio之前,本机已安装Apache2.如果使用Apache2作为服务器 Window-Preferences-Php-Php Servers 配置好 URL和Server Ro ...

  8. iOS开发——基础篇——get和post请求的区别

    HTTP 定义了与服务器交互的不同方法,最常用的有4种,Get.Post.Put.Delete,如果我换一下顺序就好记了,Put(增),Delete(删),Post(改),Get(查),即增删改查,下 ...

  9. 8-2 canvas专题-线条样式

    8-2 canvas专题-线条样式 学习要点 对第五章知识进行简单的回顾和总结 进一步讲解canvas绘图相关的知识点 第八章内容介绍 在第八章中我们将对以前的知识进行简单的回顾,着重对canvas绘 ...

  10. BZOJ_1692_[Usaco2007 Dec]队列变换_后缀数组

    BZOJ_1692_[Usaco2007 Dec]队列变换_后缀数组 Description FJ打算带他的N(1 <= N <= 30,000)头奶牛去参加一年一度的“全美农场主大奖赛” ...