摘要:
恢复内容开始 1 红灯车过,人停;绿灯人过,车停。每天走在马路上,到处可见红绿灯指挥着我们什么时候可以过马路,什么时候不能过马路。无论是人还是车,都时刻关注着红绿灯的状态,一旦红绿灯的状态发生了改变,我们总能第一时间发现,并且做出相应的响应.....说真,红绿灯真的是个伟大的发明。 说到观察者模式, 阅读全文
摘要:
题目描述 给定一个字符串 s,找到 s中最长的回文子串。你可以假设 s 的最大长度为1000。 示例1 示例2 解题 对于这道题,最简单的方法就是暴力求解了。对于很多算法题,我想会暴力求解是最基本的能力,但也绝不能满足于暴力,而且很多题的暴力解法都是很类似的。 这道题与其他的暴力解法一样,外面两层f 阅读全文
摘要:
以前在学汇编的时候,一直不知道老师在换行时,总会打一个 换行符 和 回车符 ,原来他们还有这么一个故事.... 在很久以前,有一种叫做 电传打字机(Teletype Model 33 ASR) 的机器,那时候还没有计算机这种玩意。在这种打字机上,有一个叫 Carriage 的部件,它是打字头,相当于 阅读全文
摘要:
接触过线程安全的同学想必都使用过synchronized这个关键字,在java同步代码快中,synchronized的使用方式无非有两个: 通过对一个对象进行加锁来实现同步,如下面代码。 synchronized(lockObject){ //代码 } 对一个方法进行synchronized声明,进 阅读全文
摘要:
对于volatile这个关键字,相信很多朋友都听说过,甚至使用过,这个关键字虽然字面上理解起来比较简单,但是要用好起来却不是一件容易的事。这篇文章将从多个方面来讲解volatile,让你对它更加理解。 计算机中为什么会出现线程不安全的问题 volatile既然是与线程安全有关的问题,那我们先来了解一 阅读全文
摘要:
前言 我靠,才坚持了四天,就差点不想坚持了。不行啊,我得把leetcode上的题给刷完,不然怕是不好进入bat的大门。 题目描述 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。你可以假设 num 阅读全文
摘要:
在写之前我们先来看几个问题,假如你对这些问题已经很懂了的话,那大可不用看这篇文章,如果不大懂的话,那么可以看看我的想法。问题1: public static void main(String[] args){ String t1 = new String("1"); t1.intern(); Str 阅读全文
摘要:
题目描述: 给定一个字符串,找出不含有重复字符的最长子串的长度。 示例: 给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3。 给定 "bbbbb" ,最长的子串就是 "b" ,长度是1。 给定 "pwwkew" ,最长子串是 "wke" ,长度是3。请注意答案必须 阅读全文
摘要:
前言 就有要把leetcode的题刷完,每天一道题,每天进步一点点 从零打卡leetcode之day 3 题目描述: 给定一个int类型的数组,求最大子序列的和。 也就是说,从这个数组中截取一个子数组,这个子数组的元素和最大。 例如: -1 20 -4 14 -4 -2 这个数组的最大字序列和为30 阅读全文
摘要:
前言 就是要把leetcode刷完,每天一道题,每天进步一点点。 从零打卡leetcode之day 2 题目描述: 给定两个非空链表来表示两个非负整数。位数按照逆序方式存储, 它们的每个节点只存储单个数字。将两数相加返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例: 阅读全文