摘要: 介绍一下自己: balabal,学校专业,实习经历,项目经验。 一些Java基础,接口和抽象类的区别,重载和重写,进程和线程,gc回收,都能说上来。内存泄露,不懂。 看到项目中用到了Redis,具体怎么用的。描述了一下。让在白板上具体演示一下。顺便讲了一下敏感词过滤的算法。 然后一道算法题,一串字符 阅读全文
posted @ 2018-03-19 21:26 Lee_Shuai 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 1.读写锁 假设有一张用户表,里面有100条数据,id分别为1-100。现有十个人同时查询数据库(select * from user;),那么不会出现任何问题,每个人查到的数据都是相同的。但是如果有九个人查询数据库(select * from user;),一个人从数据库中删除id为1的用户的数据 阅读全文
posted @ 2018-01-19 13:59 Lee_Shuai 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。 算法思路 新建一个字符串,设置一个指针,一个计数器,指针从0开始,与前一个字母相同的情况下,计数器加一,不相同就把字 阅读全文
posted @ 2017-08-15 17:12 Lee_Shuai 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。 这里规定大小写为不同字符,且考虑空格。 算法思路 用两个数组分别统计字符串中每个字符出现的次数,如果所有的字符出现的次数都相同,就是同构的字符串。 代码实现 java public class Same { pu 阅读全文
posted @ 2017-08-15 16:07 Lee_Shuai 阅读(556) 评论(0) 推荐(0) 编辑
摘要: 希尔排序 简介 希尔排序是插入排序的一种,也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。 算法原理 将待排序数组进行分组(相隔某个增量),对每一组进行直接插入排序,完成一次后,将增量减半,在进行分组直接插入排序,直到增量减为1,整个数组只有一组,变为直接插入排序。排序完成。 假设数组最 阅读全文
posted @ 2017-07-25 16:21 Lee_Shuai 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 快速排序 简介 快速排序是一种划分交换排序。它采用了一种分治的策略,通常称其为分治法。与冒泡排序同属于交换排序。 算法原理 从数组中取出一个数作为基准数,通常是第一个元素,将比这个数大的元素放在它的右边,比他小的元素放在它的左边,然后对左右区间进行以上操作。直到数组变为有序数组。 代码实现 代码实现 阅读全文
posted @ 2017-07-19 22:43 Lee_Shuai 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 插入排序 简介 插入排序(Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 算法原理 可以看作是 斗地主时抓牌的过程 。在一个长度为n的数组中,把第一个元素看作是已经排序好的数组,用第二个数组遍历 阅读全文
posted @ 2017-07-19 00:08 Lee_Shuai 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序 简介 冒泡排序(Bubble Sort),是一种较简单的排序算法。 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 算法原理 在一个长度为n的数组中,第一次遍历,从数组头部开始,比 阅读全文
posted @ 2017-07-18 23:45 Lee_Shuai 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 选择排序 简介 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 算法原理 在一个长度为n的数组中,第一次循环遍历n个元素找到最小的元素跟第一个元素交换位置,第二次循环遍 阅读全文
posted @ 2017-07-18 23:30 Lee_Shuai 阅读(87) 评论(0) 推荐(0) 编辑