噜啦噜啦嘿

Thinking will not overcome fear but action will.

剑指offer第56题“删除链表中重复的结点”

继续剑指Offer Go Go Go

删除链表中重复的结点 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 *** 思路 一开始题目没搞懂。。。以为会有1->2->1的情况,然后输出2,做了我好久。。 把题目看懂后就很简单了,设三个指针...

剑指offer第55题“链表中环的入口结点”

继续剑指Offer Go Go Go

链表中环的入口结点 题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 *** 思路 这题做了好久,结果发现有规律的,就是用快慢指针来做,因为有环所以快指针能追到慢指针。如果追不到返回null 追到了又怎样呢。。。慢指针走过的快指针也走过,那快指针多走的路一定是整数个环的长度。 如果快指针的速度为2,慢指针速度为1,此时这夺走的路=慢指针的路=整数倍环的长度...

剑指offer第54题“字符流中第一个不重复的字符”

继续剑指Offer Go Go Go

字符流中第一个不重复的字符 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符”go”时,第一个只出现一次的字符是”g”。当从该字符流中读出前六个字符“google”时,第一个只出现一次的字符是”l”。 输出描述 如果当前字符流没有存在出现一次的字符,返回#字符。 *** 思路 题意就是每输入一个字符,判断该字符流的第一个不重复的字符 那定义一...

剑指offer第53题“标示数值的字符串”

继续剑指Offer Go Go Go

标示数值的字符串 题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串”+100”,”5e2”,”-123”,”3.1416”和”-1E-16”都表示数值。 但是”12e”,”1a3.14”,”1.2.3”,”+-5”和”12e+4.3”都不是。 *** 思路 这题一开始看着好复杂,后来仔细研究下数值的情况,发现也就这样,判断哪些是数值很复杂,但反过来判断哪些不...

剑指offer第52题“正则表达式匹配”

继续剑指Offer Go Go Go

正则表达式匹配 题目描述 请实现一个函数用来匹配包括’.’和’‘的正则表达式。模式中的字符’.’表示任意一个字符,而’‘表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”abaca”匹配,但是与”aa.a”和”aba”均不匹配 ** 思路 这题主要还是难在要考虑 * 的问题 如果模式匹配字符的下一个字符是 ...

实验一 计算器APP实验

实验报告

实验一 计算器APP实验 一、目的: 熟悉Android程序的生命周期; 掌握Android界面设计和控件使用; 掌握Android事件处理方法。 二、内容: 设计与实现计算器APP,具有以下功能: 输入两个操作数,输出运算结果; 能进行加减乘除运算; 清空操作数和运算结果; 输入错误时能回退一个字符。 ***...

线程池笔记

线程池定义 线程池(英语:thread pool):一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数量应该取决于可用的并发处理器、处理器内核、内存、网络sockets等的数量。 例如,线程数一般取c...

计算机网络原理读书笔记

概述 互联网 网络把主机连接起来,而互联网是把多种不同的网络连接起来,因此互联网是网络的网络。 主机间的通信方式 客户-服务器(C/S):客户是服务的请求方,服务器是服务的提供方。 对等(P2P):不区分客户和服务器。 具有五层协议的体系结构 应用层 通过应用进程间的交互来完成特定网络应用,例如 HTTP、DNS 等协议。数据单位为报文。 运输层 负责两个主机...

操作系统读书笔记二

操作系统精髓与设计原理第八版

死锁 必要条件 互斥:每个资源要么已经分配给了一个进程,要么就是可用的。 占有和等待:已经得到了某个资源的进程可以再请求新的资源。 不可抢占:已经分配给一个进程的资源不能强制性地被抢占,它只能被占有它的进程显式地释放。 环路等待:有两个或者两个以上的进程组成一条环路,该环路中的每个进程都在等待下一个进程所占有的资源。 处理方法 鸵鸟策略 把头埋在沙子里,假装根本没发生问...

synchronized同步锁

修饰对象 synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象; 修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类...