自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 ARIMA本质上是error和t-?时刻数据差分的线性模型!!!

【转】https://www.cnblogs.com/bonelee/p/9523452.htmlARIMA模型——本质上是error和t-?时刻数据差分的线性模型!!!如果数据序列是非平稳的,并存在一定的增长或下降趋势,则需要对数据进行差分处理!ARIMA(p,d,q)称为差分自回归移动平均模型,AR是自回归, p为自回归项; MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数https://www.cnblogs.com/bradleon/p/6827109.html 文章里写得

2020-10-22 03:33:29 1169

原创 java多线程面试题整理及答案

java多线程面试题整理及答案(2019年)什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支 持,它也是一个很好的卖点。线程和进程有什么区别?线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的

2020-09-16 21:15:32 223

原创 threadlocal

https://www.cnblogs.com/luxiaoxun/p/8744826.html

2020-08-17 10:29:56 142

转载 jsonp

JSONP前面的话  JSONP是JSON with padding(填充式JSON或参数式JSON)的简写,是应用JSON的一种新方法,常用于服务器与客户端跨源通信,在后来的Web服务中非常流行。本文将详细介绍JSONP基础  JSONP的基本思想是,网页通过添加一个当通过[1, 2, {“buckle”: “my shoe”}]  JSONP看起来与JSON差不多,只不过是被包含在函数调用中的JSON,它会发送这样一个包裹后的JSON响应:handleResponse([l, 2, {“bu

2020-08-04 21:43:57 418

原创 springboot面试

https://www.cnblogs.com/aishangJava/p/13261712.html

2020-07-28 08:58:29 116

原创 输入函数

BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));System.in : 从键盘输入的字节流InputStreamReader : 将字节流转换为字符流BufferedReader:从字符输入流中读取文本,缓冲各个字符scannerScanner类简介Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher

2020-07-25 16:45:44 261

转载 servlet的本质是什么,它是如何工作的?

作者:柳树链接:https://www.zhihu.com/question/21416727/answer/339012081来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。https://www.zhihu.com/question/21416727这个提问的最大一个bug,就是以为servlet是很复杂的东西,事实上,servlet就是一个Java接口,interface! 打开idea,ctrl + shift + n,搜索servlet,就可以看到是一个只有

2020-07-23 15:34:20 95

转载 内核态(Kernel Mode)与用户态(User Mode)

内核态(Kernel Mode)与用户态(User Mode)内核态: CPU可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡. CPU也可以将自己从一个程序切换到另一个程序用户态: 只能受限的访问内存, 且不允许访问外围设备. 占用CPU的能力被剥夺, CPU资源可以被其他程序获取为什么要有用户态和内核态由于需要限制不同的程序之间的访问能力, 防止他们获取别的程序的内存数据, 或者获取外围设备的数据, 并发送到网络, CPU划分出两个权限等级 – 用户态 和 内核态用户态与内核态的切换

2020-06-22 21:42:06 430

原创 终于有人把Elasticsearch原理讲透了!

https://developer.51cto.com/art/201904/594615.htm

2020-06-19 22:03:16 111

原创 为什么127+1是等于-128

字节长度是8位,最左位是符号位127的二进制: 0111 1111-1的二进制: 1111 1111,加一为全0,(二进制中负数是补码的形式表示)-2的二进制: 1111 1110……-128的二进制: 1000 0000这是二进制相加减的溢出问题溢出!最大的int + 1 = 最小的int...

2020-06-15 16:56:54 604

原创 101. 对称二叉树

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。1/ 2 2/ \ / 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:1/ 2 2\ 3 3class Solution { public boolean isSymmetric(TreeNode root) { return fun(root,root); }

2020-05-31 07:18:12 138

转载 Java 程序员,别用 Stack?!

Q:在 Java 语言中,不推荐使用 Stack 类?是的。实际上,这个不推荐不是某个技术专家或者某个企业的规范标准,而是来自 Java 官方。如果大家在 Java 中查询 Stack 的文档,就会看到如下的说明:简单翻译:一个更加完整,一致的,后进先出的栈相关的操作,应该由 Deque 接口提供。并且,也推荐使用 Deque 这种数据结构(比如 ArrayDeque)来实现。因此,如果你想使用栈这种数据结构,Java 官方推荐的写法是这样的(假设容器中的类型是 Integer):下面,我们.

2020-05-30 19:19:44 1883 4

原创 1290. 二进制链表转整数

给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)链表移动到右侧下一个节点的过程,其实就是二进制数左移1位的结果。 public int getDecimalValue(ListNode head) { ListNode cur = head; int ans

2020-05-20 18:19:29 196

转载 背包九讲

P01: 01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}。这个方程非常重要,基本上所有跟背包相关的问题的方

2020-05-14 10:12:39 141

原创 69. x 的平方根

实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842…,由于返回类型是整数,小数部分将被舍去。方法一:暴力法class Solution { public int mySqrt(int x) { if(x <= 1) return x; for

2020-05-09 23:25:14 101

原创 221. 最大正方形

在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4思路:当我们判断以某个点为正方形右下角时最大的正方形时,那它的上方,左方和左上方三个点也一定是某个正方形的右下角,否则该点为右下角的正方形最大就是它自己了。这是定性的判断,那具体的最大正方形边长呢?我们知道,该点为右下角的正方形的最大边长,最多比它的上方,左方和左上方为右下角的正方形的边长多1,最好的情况是是它的

2020-05-08 20:09:15 128

原创 121. 买卖股票的最佳时机

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润...

2020-05-07 22:54:17 108

原创 136. 只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4class Solution { public int singleNumber(int[] nums) {...

2020-05-07 17:19:12 92

原创 104. 二叉树的最大深度

给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。class Solution { public int maxDepth(TreeNode root) { ...

2020-05-07 16:49:28 80

原创 226. 翻转二叉树

翻转一棵二叉树。示例:输入: 4/ 2 7/ \ / 1 3 6 9输出: 4/ 7 2/ \ / 9 6 3 1备注:这个问题是受到 Max Howell 的 原问题 启发的 :class Solution { public TreeNode invertTree(TreeNode root) { ...

2020-05-07 15:59:34 112

原创 461. 汉明距离

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0)↑ ↑上面的箭头指出了对应二进制位不同的位置。思路:布赖恩·克尼根算法:当我们在 number 和 n...

2020-05-07 15:50:18 79

原创 617. 合并二叉树

给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入:Tree 1 Tree 21 2/ \ ...

2020-05-07 15:30:18 113

原创 26. 删除排序数组中的重复项

给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 ...

2020-05-07 08:37:58 228

原创 27. 移除元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2...

2020-05-07 07:50:43 171

原创 35. 搜索插入位置(二分查找)

解题方案思路标签:二分查找如果该题目暴力解决的话需要 O(n)O(n) 的时间复杂度,但是如果二分的话则可以降低到 O(logn)O(logn) 的时间复杂度整体思路和普通的二分查找几乎没有区别,先设定左侧下标 left 和右侧下标 right,再计算中间下标 mid每次根据 nums[mid] 和 target 之间的大小进行判断,相等则直接返回下标,nums[mid] < ta...

2020-05-07 07:16:52 144

原创 572.java 递归判断子树与t是否相等

给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。示例 1:给定的树 s: 3/ \4 5/ 1 2给定的树 t:4/ 1 2返回 true,因为 t 与 s 的一个子树拥有相同的结构和节点值。示例 2:给定的树 s: 3/ \...

2020-05-07 00:38:58 151

原创 1013. 将数组分成和相等的三个部分

给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。形式上,如果可以找出索引 i+1 < j 且满足 (A[0] + A[1] + … + A[i] == A[i+1] + A[i+2] + … + A[j-1] == A[j] + A[j-1] + … + A[A.length - 1]) 就可以将数组三等分。示例 1:输入:[0,2...

2020-05-07 00:00:56 68

原创 1010. 总持续时间可被 60 整除的歌曲

在歌曲列表中,第 i 首歌曲的持续时间为 time[i] 秒。返回其总持续时间(以秒为单位)可被 60 整除的歌曲对的数量。形式上,我们希望索引的数字 i 和 j 满足 i < j 且有 (time[i] + time[j]) % 60 == 0。示例 1:输入:[30,20,150,100,40]输出:3解释:这三对的总持续时间可被 60 整数:(time[0] = 30, ...

2020-05-06 22:40:43 94

原创 983. 最低票价

在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1 到 365 的整数。火车票有三种不同的销售方式:一张为期一天的通行证售价为 costs[0] 美元;一张为期七天的通行证售价为 costs[1] 美元;一张为期三十天的通行证售价为 costs[2] 美元。通行证允许数天无限制的旅行。 例如,...

2020-05-06 15:56:15 67

转载 用pandas按列合并两个文件的实例

A文件:B文件:可以发现,A文件中“汉字井号”这一列和B文件中“WELL”这一列的属性相同,以这一列为主键,把B文件中“TIME”这一列数据添加到A文件中,如果B文件缺少某些行,则空着,最后A文件的行数不变,效果如下:代码如下:# -*- coding: utf-8 -*-"""Created on Wed Nov 29 16:02:05 2017@author: wq"""...

2020-05-05 16:52:27 676

原创 98. 验证二叉搜索树

给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。方法一:直接中序遍历出结果,然后判断结果是不是升序排列,不用判断上下界class Solution { public boolean isValidBST(TreeNode root)...

2020-05-05 14:59:58 59

原创 45. 跳跃游戏 II

思路如果某一个作为 起跳点 的格子可以跳跃的距离是 3,那么表示后面 3 个格子都可以作为 起跳点。11. 可以对每一个能作为 起跳点 的格子都尝试跳一次,把 能跳到最远的距离 不断更新。如果从这个 起跳点 起跳叫做第 1 次 跳跃,那么从后面 3 个格子起跳 都 可以叫做第 2 次 跳跃。所以,当一次 跳跃 结束时,从下一个格子开始,到现在 能跳到最远的距离,都 是下一次 跳跃 的 起跳...

2020-05-04 09:57:49 179

原创 53. 最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。假设sum<=0,那么后面的子序列肯定不包含目前的子序列,所以令s...

2020-05-03 09:24:51 74

原创 3. 无重复字符的最长子串

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所...

2020-05-02 11:44:53 59

原创 21. 合并两个有序链表

将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ...

2020-05-01 09:33:13 118

原创 202. 快乐数

编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。如果 n 是快乐数就返回 True ;不是,则返回 False 。示例:输入:19输出:true解释:12 + 92 = 8282 + 22 ...

2020-04-30 09:16:40 97

原创 线程池

线程池是什么线程池的概念是初始化线程池时在池中创建空闲的线程,一但有工作任务,可直接使用线程池中的线程进行执行工作任务,任务执行完成后又返回线程池中成为空闲线程。使用线程池可以减少线程的创建和销毁,提高性能。举个例子:我是一个包工头,代表线程池,手底下有若干工人代表线程池中的线程。如果我没接到项目,那么工人就相当于线程池中的空闲线程,一但我接到了项目,我可以立刻让我手下的工人去工作,每个工人同...

2020-04-25 13:48:39 76

原创 hashset去重原理

HashSet去重原理总结:A:HashSet底层数据结构是哈希表(是一个元素为链表的数组)B:哈希表底层依赖两个方法:hashCode()和equals()执行顺序:首先比较哈希值是否相同相同:继续执行equals()方法返回true:元素重复了,不添加返回false:直接把元素添加到集合不同:就直接把元素添加到集合...

2020-04-22 16:55:44 281

转载 hashmap底层为什么用红黑树而不用avl

RB-Tree和AVL树作为BBST,其实现的算法时间复杂度相同,AVL作为最先提出的BBST,貌似RB-tree实现的功能都可以用AVL树是代替,那么为什么还需要引入RB-Tree呢?红黑树不追求"完全平衡",即不像AVL那样要求节点的 |balFact| <= 1,它只要求部分达到平衡,但是提出了为节点增加颜色,红黑是用非严格的平衡来换取增删节点时候旋转次数的降低,任何不平衡都会在三次...

2020-04-22 16:49:21 1691 1

转载 hystrix介绍

Hystrix是什么在分布式环境中,许多服务依赖项中的一些必然会失败。Hystrix是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点、停止级联失败和提供回退选项来实现这一点,所有这些都可以提高系统的整体弹性。Hystrix为了什么Hystrix被设计的目标是:对通过第三方客户端库访问的依赖项(通常是通过网络)的延迟和故障进行...

2020-04-21 09:55:44 102

空空如也

空空如也

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

TA关注的人

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