- 博客(51)
- 收藏
- 关注
转载 Java 单例模式
Java中单例(Singleton)模式是一种广泛使用的设计模式。单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在。一些管理器和控制器常被设计成单例模式。 单例模式有很多好处,它能够避免实例对象的重复创建,不仅可以减少每次创建对象的时间开销,还可以节约内存空间;能够避免由于操作多个实例导致的逻辑错误。如果一个对象有可能贯穿整个应用程序,而且起到了全局统一管理...
2019-04-21 13:31:18 185
转载 Python with关键字
参考:python with关键字学习with语句时用于对try except finally 的优化,让代码更加美观,例如常用的开发文件的操作,用try except finally 实现:f=open('file_name','r')try: r=f.read()except: passfinally: f.close()打开文件的时候,为了能正...
2019-04-18 13:39:59 247
原创 笔试题 非递减序列和HASH表最大桶深
2019.04.16 360企业安全笔试题没什么难度,贴下问题记录下来非递减序列时间限制:C/C++语言 1000MS;其他语言 3000MS内存限制:C/C++语言 65536KB;其他语言 589824KB题目描述:给出一个有n(0 < n <= 10000)个整数的数组A(-10000 <= Ai <=10000) , 请问是否可以至多修改一个元素,...
2019-04-17 14:34:06 846
转载 数据库 MySQL查不到更新后的数据
今天做毕设的时候碰到一个问题:进程A往MySQL数据库表里添加了一条记录,打开Navicat也能看到,但是,调用Django的接口怎么也查不到记录。重启一下Django的服务,发现又能够正常地读取记录...可能原因:1.读了缓存(经排查,不是)2.数据库隔离级别导致解决办法:1.修改数据表引擎(亲测好使)2.修改数据库隔离级别(不推荐)3.使用新的数据库连接查询...
2019-04-17 14:29:34 2946 1
转载 算法题 递增的三元子序列
LeetCode 334给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。数学表达式如下:如果存在这样的i, j, k,且满足0 ≤i<j<k≤n-1,使得arr[i]<arr[j]<arr[k],返回 true ;否则返回 false 。说明:要求算法的时间复杂度为 O(n),空间复杂度为 O(1...
2019-04-12 15:43:29 195
转载 算法题 搜索二维矩阵 II
Lintcode 38. 搜索二维矩阵 II编写一个高效的算法来搜索mxn矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。 每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, ...
2019-04-12 15:17:37 251
转载 算法题 飞地的数量
LeetCode 1020题目描述:给出一个二维数组A,每个单元格为 0(代表海)或 1(代表陆地)。移动是指在陆地上从一个地方走到另一个地方(朝四个方向之一)或离开网格的边界。返回网格中无法在任意次数的移动中离开网格边界的陆地单元格的数量。示例 1:输入:[[0,0,0,0],[1,0,1,0],[0,1,1,0],[0,0,0,0]]输出:3解释: 有三...
2019-04-12 14:07:59 326
转载 算法题 漂亮数组
LeetCode 932对于某些固定的N,如果数组A是整数1, 2, ..., N组成的排列,使得:对于每个i < j,都不存在k满足i < k < j使得A[k] * 2 = A[i] + A[j]。那么数组A是漂亮数组。给定N,返回任意漂亮数组A(保证存在一个)。示例 1:输入:4输出:[2,1,4,3]...
2019-04-11 15:58:39 940 1
转载 Java 访问控制符private、protected、public和default的区别
原文:http://www.cnblogs.com/jingmengxintang/p/5898900.htmlpublic:具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。protected:主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一...
2019-04-09 14:39:33 229
转载 算法题 编辑距离
2019春招 拼多多笔试 第4题LeetCode 72 原题参考:https://blog.csdn.net/lwgkzl/article/details/81235421https://blog.csdn.net/sinat_35261315/article/details/78678961题目:给定两个单词word1和word2,计算出将word1转换成wo...
2019-04-08 13:06:47 237 1
转载 算法题 N根绳子截M段问题
2019春招 字节跳动笔试题 第4题题目给n根绳子,分别记其长度为L1-Ln。现要从这些绳子中截出等长的m段,求这些绳子长度的最大值。比如3根绳子长度 1,3,4,截成3段,则最大值为2(1不截,3截一段,4截2段)看了下网上大佬的思路,感觉没什么问题,写下来记录一下。(可能有误,毕竟没提交试试能否AC)https://blog.csdn.net/coc0nut/article/...
2019-04-06 14:49:23 2233 1
转载 Java 抽象类和接口的区别
很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。在讨论它们之间的不同点之前,我们先看看抽象类、接口各自的特性。抽象类抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。以JDK中的GenericServlet为例: 1 2...
2019-03-24 11:37:02 138
原创 MongoDB 聚合
例子: 找出发表文章量前五的作者sql: select author,count(1) from articles group by author order by count desc limit 5;mongo: db.articles.aggeregate( {'$project':{'author':1}...
2019-03-21 13:26:08 151
转载 多线程与多进程
鱼还是熊掌:浅谈多进程多线程的选择关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。经常在网络上看到有的XDJM问“多进程好还是多线程好?”、“Linux下用多进程还是多线程?”等等期望一劳永逸的问题,我只能说:没有最好,只有更...
2019-03-10 15:30:59 172
转载 算法 BitMap算法详解
所谓的BitMap就是用一个bit位来标记某个元素所对应的value,而key即是该元素,由于BitMap使用了bit位来存储数据,因此可以大大节省存储空间。基本思想: 这此我用一个简单的例子来详细介绍BitMap算法的原理。假设我们要对0-7内的5个元素(4,7,2,5,3)进行排序(这里假设元素没有重复)。我们可以使用BitMap算法达到排序目的。要表示8个数,我们需要8个byte。...
2019-03-10 15:09:49 228
转载 PostgreSQL与MySQL对比
PostgreSQL与MySQL对比都属于开放源码的一员,性能和功能都在高速地提高和增强。MySQL AB的人们和PostgreSQL的开发者们都在尽可能地把各自的数据库改得越来越好,所以对于任何商业数据库使用其中的任何一个都不能算是错误的选择。PostgreSQL :免费原则:对于一个数据库,稳定性和速度并不能代表一切。对于一个成熟的数据库,稳定性肯定会日益提供。而随着硬件性能的...
2019-03-10 13:42:26 2584
原创 算法题 链表倒置
public class ReverseList { public static void main(String[] args) { ListNode head = new ListNode(0); head.next = new ListNode(1); head.next.next = new ListNode(2); head.next.next.next = new ...
2019-03-07 13:32:56 381
原创 算法题 KMP模式匹配算法
public class KMP { public static void main(String[] args){ String T = "icocococola"; String P = "cococola"; int[] next = Next(P); for(int i=0; i<next.length; i++) System.out.print(next...
2019-03-07 13:02:46 296
转载 网络 IP地址分类
IPv4编址;A类、B类、C类、D类、E类IP地址IP地址的编址方法共经过了三个历史阶段:(1)分类的IP的地址(2)子网的划分(3)构成超网。分类的IP地址所谓的“分类的IP地址”就是将IP地址划分为若干个固定类,每一类地址都由两个固定长度的字段组成,其中第一个字段是网络号,它标志主机(或路由器)所连接到的网络。一个网络号在整个因特网范围内必须是唯一的。第二个字段是主机号,它标志...
2019-03-05 13:53:53 2706
转载 Java &&和&的区别
&& 逻辑与,|| 逻辑或 称为逻辑运算符& 按位与,| 按位或 称为位运算符if(a==1&&b==2) 这是说既要满足a=1也要满足b=2if(a==1||b==2) 这是说或者满足a=1或者要满足b=2而a&b或者a|b则是二进制的与或运算&同为1时为1,否则为0|同为0时为0,否则为1...
2018-07-07 23:41:56 1377
转载 数据库 MySQL索引
面试的时候经常问到数据库,一谈到数据库就离不开索引,特此学习一波索引。这个博客写得很全:https://blog.csdn.net/suifeng3051/article/details/52669644数据库索引1.索引的意义 没有索引的话,查询数据时数据库就得进行全表扫描,数据量一大起来效率可想而知。2.索引的实现 2.1 数据结构的选取 目前大部分数据库系统及文件系统都采用...
2018-05-23 20:13:03 219
转载 TCP 长连接和短连接
那天面试官抓着问了几个长连接和短连接的问题,一脸懵逼,今天上课时想起来好好查了一下。HTTP协议的长连接和短连接,实质上是TCP协议的长连接和短连接。TCP的连接和关闭:https://blog.csdn.net/qq_35546040/article/details/802809001.概念TCP短连接:(在HTTP/1.0中,默认使用的是短连接。)客户端浏...
2018-05-23 16:23:55 241
原创 算法题 求第K大的数
题目描述:在乱序数组中求第K大的数思路:立刻想到的是当然先排序然后取数。但是提问者明显不是想这么解。上网查了下原来是快排思路。利用快排的思想,从数组arr中随机找出一个元素X,把数组分成两部分arr_a和arr_b。arr_a中的元素比x大,arr_b中的元素比x小。这个时候分为两种情况:1.arr_a中的元素个数小于K,则第K大数在arr_b中2.arr_a中的元素大于...
2018-05-22 20:22:09 1740
原创 算法题 快排实现(好记)
快排是一种很重要的排序,没事敲几遍复习一下,不然忘了。public class QuickSort { public static void main(String[] args) { int[] a = {5,3,6,7}; quickSort(a,0,a.length-1); for(int i=0;i<a.length;i++) System.out...
2018-05-22 19:39:43 731
原创 算法题 最长无重复字符子串
Leetcode 上的一道题无重复字符的最长子串给定一个字符串,找出不含有重复字符的最长子串的长度。示例:给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3。给定 "bbbbb" ,最长的子串就是 "b" ,长度是1。给定 "pwwkew" ,最长子串是 "wke" ,长度是3。请注意答案必须是一个子串,"pwke" 是 子序列 而不
2018-05-21 13:52:41 229
原创 算法题 打印从左方向看到的二叉树
头条面试官问的一个问题,当时居然没写出来,难受。(树和队列练得少)题目描述:打印从左往右看到的二叉树(就是打印每层第一个节点)思路:按层换行打印改动一下,加个标记位解决。 按层换行打印:https://blog.csdn.net/qq_35546040/article/details/80389381代码:import java.util.LinkedLis...
2018-05-21 11:19:10 4766 1
转载 算法题 按层次换行打印二叉树
题目描述:将一颗二叉树按层次打印,打印一层换行思路:关键在于判断何时换行,这里采用的是一个last记录每层的最后一节点。代码:import java.util.LinkedList;import java.util.Queue;public class Tree { TreeNode last; TreeNode nlast; public void printTre...
2018-05-21 10:59:41 1225
原创 算法题 螺旋矩阵Ⅰ/Ⅱ
题目描述:输入一个整数N,螺旋输出N*N矩阵例如:输入:4矩阵:1 2 3 45 6 7 89 10 11 1213 14 15 16输出:1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10思路:分层考虑,由外...
2018-05-20 14:43:38 441
转载 算法题 硬币组合问题
原文:http://www.cnblogs.com/python27/archive/2013/09/05/3303721.html问题描述 假设我们有8种不同面值的硬币{1,2,5,10,20,50,100,200},用这些硬币组合够成一个给定的数值n。例如n=200,那么一种可能的组合方式为 200 = 3 * 1 + 1*2 + 1*5 + 2*20 + 1 * 50 + 1 * 100....
2018-05-20 13:56:25 8820
原创 算法题 单链表O(1)时间删除给定节点
今天听说能用O(1)删除链表节点,惊了,赶紧查了下怎么回事。http://www.cnblogs.com/bakari/p/4013812.html题目是这样的:给定头节点和目标节点,删除目标节点。public void deleteInO1(Node head,Node t){ //TODO}以往我们都是遍历一遍链表找到目标节点的前驱节点,然后指来指去解决。今天,学了一招叫做“狸猫换太...
2018-05-16 19:29:40 1885
转载 数据库 锁机制
https://www.cnblogs.com/houan/p/6253293.htmlhttps://blog.csdn.net/samjustin1/article/details/52210125一、为什么需要了解锁1.1 死锁问题1.2 并发问题导致的不正确数据的读取和存储,破坏数据一致性的丢失更新脏读不可重复读幻读二、锁的分类2.1 数据库维度共享锁(Shared lock,读锁):用于...
2018-05-15 19:21:40 150
转载 Java equals与==区别
http://www.cnblogs.com/dolphin0520/总结来说: 1)对于==,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等; 如果作用于引用类型的变量,则比较的是所指向的对象的地址 2)对于equals方法,注意:equals方法不能作用于基本数据类型的变量 如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址; ...
2018-05-13 12:06:28 104
转载 Java 集合类中的常用类
Java中的集合类包含的内容很多而且很重要,很多数据的存储和处理(排序,去重,筛选等)都需要通过集合类来完成。首先java中集合类主要有两大分支:(1)Collection (2)Map先看它们的类图:(1)Collection(2)Map 粗略一看一堆类很吓人,但其实用起来很方便很简单。先看看Collection下的东西:List:1.可以允许重复的对象。2.可以插入多个null元素。3.是一个...
2018-05-12 19:35:39 9307
转载 数据库 事务隔离级别
在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别。数据库是要被广大客户所共享访问的,那么在数据库操作过程中很可能出现以下几种不确定情况。1.更新丢失:两个事务都同时更新一行数据,一个事务对数据的更新把另一个事务对数据的更新覆盖了。这是因为系统没有执行任何的锁 操作,因此并发事务并没有被隔离开来。2.脏读:一个事务读取到了另一个...
2018-05-12 15:33:05 195
原创 算法题 只出现一次的数字Ⅰ/Ⅱ/Ⅲ
136. 只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。思路:本来使用HashMap做,后来才知道这是位运算方面的题,惭愧。 由于其他元素都出现了两次,因此把全部元素亦或一下,结果就出来了。。class Solution { public static int singleNumber(int[] ...
2018-05-11 18:27:04 8384 5
转载 TCP连接和关闭
TCP建立连接:三次握手TCP关闭连接:四次挥手time_wait状态产生的原因1)为实现TCP全双工连接的可靠释放由TCP状态变迁图可知,假设发起主动关闭的一方(client)最后发送的ACK在网络中丢失,由于TCP协议的重传机制,执行被动关闭的一方(server)将会重发其FIN,在该FIN到达client之前,client必须维护这条连接状态,也就说这条T...
2018-05-11 14:37:24 7670
原创 算法题 两/三/K数之和为Sum+不定项和为Sum
两数之和给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]思路:第一种方法是拿Map存储值和下标,然后遍历数组,用containskey函数判断是否存在tar...
2018-05-11 11:15:36 692
原创 Java 多线程学习——生产者消费者简单实现
Storage.java 仓库类package threads;/** * *@author CJY *@date 2018年5月7日 下午2:20:38 * */import java.util.LinkedList;public class Storage{ // 仓库最大存储量 private final int MAX_SIZE = 100; ...
2018-05-10 16:43:34 203
转载 Java 多线程学习——多线程实现和线程状态转换
概念进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。(进程是资源分配的最小单位) 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线程是cpu调度的最小单位)实现多线程常用方式:1.继承Thread类2.实现Runable接口(推荐)...
2018-05-10 16:14:58 146
转载 Java 多线程学习——四种自带线程池的使用
Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。newSingl...
2018-05-08 19:56:47 154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人