自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱科比的博客

来了你就不想走

  • 博客(181)
  • 收藏
  • 关注

转载 转More than one file was found with OS independent path ‘META-INF/DEPENDENCIES‘

今天在Android Studio中编译工程的时候,遇见了一个奇怪的问题,报错如下:Error:Execution failed for task ‘:app:transformResourcesWithMergeJavaResForDebug’.More than one file was found with OS independent path ‘META-INF/DEPENDENCIES’大概意思就是工程生成了不止一个META-INF/DEPENDENCIES文件,看起来是因为多个 ja

2021-04-28 10:42:08 5

原创 【洛谷p1044】栈(全排列+栈的压入弹出序列)(卡特兰数)

题目背景栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。栈有两种最重要的操作,即 pop(从栈顶弹出一个元素)和 push(将一个元素进栈)。栈的重要性不言自明,任何一门数据结构的课程都会介绍栈。宁宁同学在复习栈的基本概念时,想到了一个书上没有讲过的问题,而他自己无法给出答案,所以需要你的帮忙。题目描述宁宁考虑的是这样一个问题:一个操作数序列,1,2,\ldots ,n1,2,…,n(图示为 1 到 3 的情况),栈 A 的深度大于nn。现在可以.

2020-08-18 15:31:11 108

原创 【动态规划】编辑距离

给你两个单词word1 和word2,请你计算出将word1转换成word2 所使用的最少操作数。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例1:输入:word1 = "horse", word2 = "ros"输出:3解释:horse -> rorse (将 'h' 替换为 'r')rorse -> rose (删除 'r')rose -> ros (删除 'e')示例2:输入:word1 = "int...

2020-08-09 11:51:40 73

原创 【牛客】字符串压缩算法

输入一串字符,请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。例如:aac 压缩为 1acxxxxyyyyyyzbbb 压缩为 3x5yz2b输入描述:任意长度字符串输出描述:压缩后的字符串示例1输入xxxxyyyyyyzbbb输出3x5yz2bimport java.util.Scanner;public class Main { public static void main(String[].

2020-07-30 21:44:38 126

原创 [leetcode] 51 N皇后(路径打印+DFS+回溯)

n皇后问题研究的是如何将 n个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的n皇后问题的解决方案。每一种解法包含一个明确的n 皇后问题的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。示例:输入: 4输出: [[".Q..", // 解法 1 "...Q", "Q...", "..Q."],["..Q.", // 解法 2 "Q...", "...

2020-06-21 09:38:53 83

原创 并查集系列(路径压缩)

547. 朋友圈难度中等255班上有N名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B的朋友,B 是 C的朋友,那么我们可以认为 A 也是 C的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个N * N的矩阵M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个学生互为朋友关系,否则为不知道。你必须输出所有学生中的已知的朋友圈总数。示例 1:输入: [[1,1,0], [1,1,0], [0,0...

2020-06-18 21:49:57 85

原创 leetcode[300] 最长上升子序列

给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是[2,3,7,101],它的长度是 4。解题思路:动态规划public static int longestIncreasingSubsequence(int[] nums) { // write your code here if(nums.length == 0 || nums == null) ..

2020-06-09 16:21:38 56

原创 leetcode[523] 连续的子数组和(前缀和求解,dp求解过了一半样例,之后补上)

523. 连续的子数组和难度中等107给定一个包含非负数的数组和一个目标整数k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为k的倍数,即总和为 n*k,其中 n 也是一个整数。示例 1:输入: [23,2,4,6,7], k = 6输出: True解释: [2,4] 是一个大小为 2 的子数组,并且和为 6。示例 2:输入: [23,2,6,4,7], k = 6输出: True解释: [23,2,6,4,7]是大小为 5 的子数组,并且...

2020-06-08 15:41:25 75

原创 深入剖析ThreadLocal实现原理以及内存泄漏问题

本文链接:https://blog.csdn.net/LHQJ1992/article/details/52451136一、概述在2017京东校园招聘笔试题中遇到了描述ThreadLocal的实现原理和内存泄漏的问题,之前看过ThreadLocal的实现原理,但是网上有很多文章将的很乱,其中有很多文章将ThreadLocal与线程同步机制混为一谈,特别注意的是ThreadLocal与线程同步无关,并不是为了解决多线程共享变量问题!ThreadLocal官网解释: This class prov.

2020-06-05 22:32:46 166

原创 深入理解 Mysql 索引底层原理
原力计划

转自知乎腾讯技术工程Mysql 作为互联网中非常热门的数据库,其底层的存储引擎和数据检索引擎的设计非常重要,尤其是 Mysql 数据的存储形式以及索引的设计,决定了 Mysql 整体的数据检索性能。我们知道,索引的作用是做数据的快速检索,而快速检索的实现的本质是数据结构。通过不同数据结构的选择,实现各种数据快速检索。在数据库中,高效的查找算法是非常重要的,因为数据库中存储了大量数据,一个高效的索引能节省巨大的时间。比如下面这个数据表,如果 Mysql 没有实现索引算法,那么查找 id=7 这个数据,

2020-06-05 16:11:35 111

原创 【牛客】二位数组的打印

题目描述有一个二维数组(n*n),写程序实现从右上角到左下角沿主对角线方向打印。给定一个二位数组arr及题目中的参数n,请返回结果数组。测试样例:[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]],4返回:[4,3,8,2,7,12,1,6,11,16,5,10,15,9,14,13]解题思路:沿着主对角线打印,所以每次打印之后x与y都要加1,直到x或y超出边界import java.util.*; public cla.

2020-05-21 22:10:23 100

原创 【牛客】回文串(最长公共子序列)

题目描述给定一个字符串,问是否能通过添加一个字母将其变为回文串。输入描述:一行一个由小写字母构成的字符串,字符串长度小于等于10。输出描述:输出答案(YES\NO).示例1输入coco输出YES解题思路:字符串的反转之后字符串的最长公共子序列长度和原长度差值小于等于1import java.util.Scanner;import java.util.Set;public class Main { public static void m

2020-05-21 21:48:43 160

原创 【牛客】中国牛市

链接:https://www.nowcoder.com/questionTerminal/9370d298b8894f48b523931d40a9a4aa?orderByHotValue=0&query=%E9%A3%8E%E5%8F%A3%E7%9A%84%E7%8C%AA-%E4%B8%AD%E5%9B%BD%E7%89%9B%E5%B8%82&done=0&pos=1来源:牛客网[编程题]风口的猪-中国牛市风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”.

2020-05-17 12:23:15 68

原创 静态代理和动态代理(JDK动态代理和CGLib动态代理)简单实现,我菜谈不上深入理解
原力计划

一 JDK和CGLIB动态代理原理1、JDK动态代理利用拦截器(拦截器必须实现InvocationHanlder)加上反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。2、CGLIB动态代理利用ASM开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。3、何时使用JDK还是CGLIB?1)如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP。2)如果目标对象实现了接口,可以强制使用CGLIB实现AOP。

2020-05-12 16:17:25 106

原创 【牛客】数字和为sum的方法数(滴滴笔试)

链接:https://www.nowcoder.com/questionTerminal/7f24eb7266ce4b0792ce8721d6259800来源:牛客网[编程题]数字和为sum的方法数给定一个有n个正整数的数组A和一个整数sum,求选择数组A中部分数字和为sum的方案数。当两种选取方案有一个数字的下标不一样,我们就认为是不同的组成方案。输入描述:输入为两行: 第一行为两个正整数n(1 ≤ n ≤ 1000),sum(1 ≤ sum ≤ 1000) 第二行为n..

2020-05-10 23:20:39 82

原创 【Java学习】Java反射机制以及实现简单框架(暴力反射)
原力计划

Java反射机制:JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。反射的好处: 1.可以在程序运行过程中,操作这些对象。 2.可以进行解耦,提高程序的扩展性。 Java代码在计算机中的三个阶段 1. Sources源代码阶段:*.java被编译成*.class字节码文件。2.Class类对象阶段:*.clas...

2020-05-09 17:54:13 202 1

原创 【Java学习】强引用,弱引用,软引用和幽灵引用
原力计划

Java在JDK1.2之后对引用的概念进行了扩充,引入了四种不同的引用。 强引用 只有强引用存在,垃圾回收器就永远不会回收调被引用的对象。使用new来创建一个新对象的方式来创建强引用。看下面这样的例子static Object object = new Object(); /** * 强引用 */ public static void testStrongReference(){ Object obj = object;

2020-05-08 22:33:21 113

原创 【Java学习】preparedstatement 处理机制

1. 使用PreparedStatement有什么样的优势?PreparedStatement是java.sql包下面的一个接口,用来执行SQL语句查询,通过调用connection.preparedStatement(sql)方法可以获得PreparedStatment对象。数据库系统会对sql语句进行预编译处理(如果JDBC驱动支持的话),预处理语句将被预先编译好,这条预编译的sql查询语...

2020-05-08 00:17:28 124

原创 【HTTP】HTTP如何变成HTTPS

1.HTTP的缺点通信使用明文(不加密),内容可能被窃听。 不验证通信方的身份,因此可能遭遇伪装 无法证明报文的完整性,所以可能已经被篡改2.HTTP+加密+认证+完整性保护 = HTTPSHTTPS是身披SSL外壳的HTTPHTTPS并不是一种应用层新的协议,只是HTTP通信接口部分用SSL(Secure Socket Layer)和TLS(Transport Layer Sec...

2020-05-07 12:01:50 333

原创 【HTTP】HTTP首部(2)

1.实体首部字段 ALLOW 表示通知客户端能够支持的访问方法,当服务器接收到不支持的方法时,会以状态码405Method Not Allowed作为响应返回。Content-Encoding这个字段会告知客户端服务器对实体的主体部分选取的编码方式。内容编码是指在不丢失实体信息的情况下进行的压缩。Content-LanguageContent-Length...

2020-05-07 09:04:56 59

原创 【剑指offer】二叉树以及二叉搜索树的最近公共祖先

面试题68 - I. 二叉搜索树的最近公共祖先给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root =[6,2,8,0,4,7,9,null,null,...

2020-05-06 16:54:58 58

原创 【HTTP】HTTP首部(1)
原力计划

1.HTTP报文首部HTTP请求报文HTTP响应报文2.HTTP首部字段HTTP首部字段结构首部字段名:字段值例如:Content-Type:text/html另外,字段值对应的单个首部字段可以有多个值。端到端首部分在此类中的首部回转发给请求/响应对应的最终接收目标,而且必须保存在由缓存生成的响应中,另外规定它必须转发。逐跳首部分在此类别的中的首部只对...

2020-05-06 11:28:21 79

原创 【牛客】密码验证程序

链接:https://www.nowcoder.com/questionTerminal/184edec193864f0985ad2684fbc86841?orderByHotValue=1&questionTypes=000100&mutiTagIds=579&page=1&onlyReference=false来源:牛客网密码要求:1.长度超过8位...

2020-05-01 22:57:48 174

原创 【剑指offer】47 礼物的最大价值

面试题47. 礼物的最大价值难度中等30在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?示例 1:输入: [ [1,3,1], [1,5,1], [4,2,1]]...

2020-05-01 13:12:12 205

原创 【牛客】整数与IP地址间的转换

原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。举例:一个ip地址为10.0.3.193每段数字相对应的二进制数10000010100000000003...

2020-04-30 11:27:43 108

原创 【剑指offer】07 重建二叉树

面试题07. 重建二叉树难度中等72输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder =[3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 ...

2020-04-29 23:15:00 57

原创 【剑指offer】43 1-n整数中1出现的次数(难)

面试题43. 1~n整数中1出现的次数难度中等28输入一个整数n,求1~n这n个整数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。示例 1:输入:n = 12输出:5示例 2:输入:n = 13输出:6解题思路:刚开始自己用的普通方法,结果时间超限了。class Sol...

2020-04-29 22:35:25 55

原创 【剑指offer】 45 把数组排成最小的数

面试题45. 把数组排成最小的数难度中等35输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例 1:输入: [10,2]输出: "102"示例2:输入: [3,30,34,5,9]输出: "3033459"提示:0 < nums.length <= 100说明:输出结果可能非常大,...

2020-04-29 20:29:23 41

原创 【剑指offer】 34 二叉树中和为某一值的路径

面试题34. 二叉树中和为某一值的路径难度中等27输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。示例:给定如下二叉树,以及目标和sum = 22, 5 / \ 4 8 / / \ ...

2020-04-29 17:07:03 46

原创 【剑指offer】61 扑克牌中的顺子

面试题61. 扑克牌中的顺子难度简单21从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。示例1:输入: [1,2,3,4,5]输出: True示例2:输入: [0,0,1,2,5]输出: True限制:...

2020-04-28 09:18:40 59

原创 【剑指offer】66构建乘积数组

面试题66. 构建乘积数组难度简单15给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。示例:输入: [1,2,3,4,5]输出: [120,60,40,30,24]提示:所有元素乘积之和不会溢出 32 位整数 ...

2020-04-27 14:56:59 62

原创 【剑指offer】52 两个链表的第一个公共交点(优雅恋人)

面试题52. 两个链表的第一个公共节点难度简单37输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the nod...

2020-04-26 10:51:33 102

原创 【剑指offer】21 调整数组顺序使得奇数位于偶数之前(第一次遇到限制时间的题)

面试题21. 调整数组顺序使奇数位于偶数前面难度简单16输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例:输入:nums =[1,2,3,4]输出:[1,3,2,4] 注:[3,1,2,4] 也是正确的答案之一。提示:1 <= nums.length <= 50000 ...

2020-04-26 10:14:35 74

原创 【剑指offer】57 和为s的两个数(拒绝暴力)

面试题57. 和为s的两个数字难度简单18输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例 1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2:输入:nums = [10,26,30,31,47,60], target ...

2020-04-26 09:42:44 60

原创 【HTTP】和HTTP协作的Web服务器

1.利用单台虚拟主机实现多个域名HTTP/1.1版本允许一台服务器搭建多个Web服务站点,比如实现托管服务,就是利用一台服务器为多个用户提供服务,也可以为不同用户提供不同的网站。这就是利用虚拟主机技术的功能。虚拟主机技术即使只有一台物理主机也能够实现多台服务器的能力。客户端使用HTTP协议进行服务器访问的时候,会经常采用类似www.hackr.jp这样的域名和主机名。在互联网...

2020-04-22 21:55:23 113

原创 【leetcode】199 二叉树的右视图

给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入:[1,2,3,null,5,null,4]输出:[1, 3, 4]解释: 1 <---/ \2 3 <---\ \ 5 4 <---解题思路:刚开始感觉只要输出...

2020-04-22 12:22:05 120

原创 【Java学习】Integer.ValueOf()引发的血案
原力计划

这道题有的人或许做过,也可能选对,但是这其中的道理你却不一定理解,在这里大牛走过,小白留下一起学习。先来分析选型A,Integer i01 = 59,是一个装箱的过程,在进行i01 == i02的比较过程中,因为右边是整型,发生了拆箱的动作,所以进行了值得比较,所以返回true。在这里拿出Integer a = 59,Integer b = 59,这种又会出现什么状况呢,如果按照...

2020-04-21 15:33:08 1641

原创 【HTTP协议】HTTP报文以及返回结果的HTTP状态码
原力计划

一,HTTP报文下的HTTP信息1.1,HTTP报文用于HTTP协议交互的信息被称为HTTP报文,客户端的报文叫做请求报文,服务器端的报文叫做响应报文。HTTP报文是一种很多行(由CR+LF作换行符)数据构成的字符串文本。HTTP报文大致可分为报文首部和报文主体,之间用空行进行分割,但是,并不一定有报文主体。1.2,请求报文及响应报文的结构请求报文:响应报文...

2020-04-20 16:23:37 364

原创 【牛客】火车进站(字典序+栈的压入弹出序列+字符串字典序)

给定一个正整数N代表火车数量,0<N<10,接下来输入火车入站的序列,一共N辆火车,每辆火车以数字1-9编号。要求以字典序排序输出火车出站的序列号。输入描述:有多组测试用例,每一组第一行输入一个正整数N(0<N<10),第二行包括N个正整数,范围为1到9。输出描述:输出以字典序从小到大排序的火车出站序列号,每个编号以空格隔开,每个输出序列换行,具体见samp...

2020-04-18 22:23:25 283

原创 【牛客】洗牌

[编程题]洗牌链接:https://www.nowcoder.com/questionTerminal/5a0a2c7e431e4fbbbb1ff32ac6e8dfa0来源:牛客网洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第...

2020-04-18 22:13:49 218

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除