要求:
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. Lua:ipairs和pairs的区别

    ipairs 和pairs在lua中都是遍历tbale的函数但是两者有区别 1.pairs遍历table中的所有的key-vale 而ipairs会根据key的数值从1开始加1递增遍历对应的table ...

  2. C++中使用Json的方法

    使用 C++ 处理 JSON 数据交换格式 一.摘要 JSON 的全称为:JavaScript Object Notation,顾名思义,JSON 是用于标记 Javascript 对象的,JSON官 ...

  3. [BestCoder Round #3] hdu 4907 Task schedule (模拟简单题)

    Task schedule Problem Description 有一台机器,而且给你这台机器的工作表.工作表上有n个任务,机器在ti时间运行第i个任务,1秒就可以完毕1个任务. 有m个询问,每一个 ...

  4. 程序中使用cocostudio移植到android手机须要的若干配置过程

    首先在解决方式下加入现有项: libCocosStudio.vcxproj E$uVS5Sbv! WL:0n"BExtensions.vcxproj libGUI.vcxproj 然后在pr ...

  5. web 页面传值乱码问题

    今天碰到一个问题,将A页面中文值传到B页面,session保存,然后在C页面显示,页面显示乱码 百度了一下什么原因,以为是session保存中乱码,于是将B页面的通过Server.UrlDecode( ...

  6. 大数据R语言简析

    R语言是用于统计分析.画图的语言和操作环境.R是属于GNU系统的一个自由.免费.源码开放的软件.它是一个用于统计计算和统计制图的优秀工具. R是统计领域广泛使用的诞生于1980年左右的S语言的一个分支 ...

  7. python 矩阵

    python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包. 1.numpy的导入和使用 from numpy import *;#导入numpy的库函数 im ...

  8. ios33--线程安全

    // // ViewController.m // 05-掌握-线程安全 // // 多线程下载文件:每个线程下的部分可能是交错的,到时候就拼接不了.除非每个线程下载的不是交错的,而是从头到尾依次分开 ...

  9. Oracle存储过程(增、删、改)写法、oracle执行存储过程

    Oracle存储过程(增.删.改)写法 发布时间: 2010-3-24 11:07    作者: ZHF    来源: 51Testing软件测试网采编 字体:  小  中  大  | 上一篇 下一篇 ...

  10. 9. Ext基础1 -- Ext中 getDom、get、getCmp的区别

    转自:https://blog.csdn.net/huobing123456789/article/details/7982061 要学习及应用好Ext框架,必须需要理解Html DOM.Ext El ...