自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 操作系统笔记

转载自https://imageslr.com/2020/07/08/tech-interview.html补充了部分缺失内容操作系统进程和线程进程和线程有什么区别?进程间通信有哪些方式?进程同步问题进程有哪几种状态?进程调度策略有哪些?什么是僵尸进程?线程同步有哪些方式?什么是协程?进程的异常控制流:陷阱、中断、异常和信号什么是IO多路复用?怎么实现?什么是用户态和内核态?死锁什么是死锁?死锁产生的必要条件?死锁有哪些处理方法?内存管理分页和分段有什

2021-10-26 14:18:18 241

原创 ElasticSearch笔记

ElasticSearchElasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。 但是,Lucene只是一个库。想要发挥其强大的作用,你需使用Java并要将其集成到你的应用中。Lucene非常复杂,你需要深入的了解检索相关知识来

2021-10-24 23:23:01 175

原创 Ribbon&Feign笔记

一. RibbonSpring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是它几乎存在于每一个Spring Cloud构建的微服务和基础设施中。因为微服务间的调用,API网关的请求转发等内容,实际上都是

2021-10-24 21:14:16 192

原创 eureka笔记

工作原理Eureka Server:注册中心服务端注册中心服务端主要对外提供了三个功能:服务注册服务提供者启动时,会通过 Eureka Client 向 Eureka Server 注册信息,Eureka Server 会存储该服务的信息,Eureka Server 内部有二层缓存机制来维护整个注册表提供注册表服务消费者在调用服务时,如果 Eureka Client 没有缓存注册表的话,会从 Eureka Server 获取最新的注册表同步状态Eureka Client 通过注册

2021-10-24 19:55:24 125

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

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

2021-10-23 23:34:26 78

原创 leetcode-2.两数相加(java

题目给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9,9], l2

2021-10-23 22:46:12 93

原创 消息中间件之RabbitMQ

何为中间件中间件是将具体业务和底层逻辑解耦的软件,分为:MOM(消息中间件)、RPC(远程过程调用中间件)、UDA(数据访问中间件)、TPM(交易中间件)等。消息中间件,又称为消息队列、消息队列中间件,分为RabbitMQ、ActiveMQ、Kafka等。原理各部分的名字和作用?1.Brocker:消息队列服务器实体,Rabbitmq可以作为一个选择。2.Exchange:消息交换机,用于接收、分配消息。指定消息按什么规则,路由到哪个队列。3.Queue:消息队列,用于存储生产者的消息。每个

2021-10-22 21:52:02 532 1

转载 Redis知识点

转载自javaguide简单介绍一下 Redis 呗!简单来说 Redis 就是一个使用 C 语言开发的数据库,不过与传统数据库不同的是 Redis 的数据是存在内存中的 ,也就是它是内存数据库,所以读写速度非常快,因此 Redis 被广泛应用于缓存方向。另外,Redis 除了做缓存之外,也经常用来做分布式锁,甚至是消息队列。Redis 提供了多种数据类型来支持不同的业务场景。Redis 还支持事务 、持久化、Lua 脚本、多种集群方案。分布式缓存常见的技术选型方案有哪些?分布式缓存的话,使用的

2021-10-21 14:11:15 109

转载 JAVA基础知识

本文转载自JavaGuide基础概念与常识Java 语言有哪些特点?JVM vs JDK vs JREJVMJDK 和 JRE为什么说 Java 语言“编译与解释并存”?Oracle JDK 和 OpenJDK 的对比Java 和 C++的区别?import java 和 javax 有什么区别?基本语法字符型常量和字符串常量的区别?注释标识符和关键字的区别是什么?Java 中有哪些常见的关键字?自增自减运算符continue、break、和 return

2021-10-16 11:36:39 152

原创 1104. 二叉树寻路(java)

题目在一棵无限的二叉树上,每个节点都有两个子节点,树中的节点 逐行 依次按 “之” 字形进行标记。如下图所示,在奇数行(即,第一行、第三行、第五行……)中,按从左到右的顺序进行标记;而偶数行(即,第二行、第四行、第六行……)中,按从右到左的顺序进行标记思路看上去感觉是数学题直接找公式,贴一下题解:https://leetcode-cn.com/problems/path-in-zigzag-labelled-binary-tree/solution/er-cha-shu-xun-lu-by-lee

2021-07-29 21:41:40 104

原创 863. 二叉树中所有距离为 K 的结点(java

题目给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K 。返回到目标结点 target 距离为 K 的所有结点的值的列表。 答案可以以任何顺序返回。思路哈希表存储节点的父节点通过dfs查找深度为k的节点代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode rig

2021-07-28 11:55:20 105

原创 671. 二叉树中第二小的节点(java

题目给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0。如果一个节点有两个子节点的话,那么该节点的值等于两个子节点中较小的一个。更正式地说,root.val = min(root.left.val, root.right.val) 总成立。给出这样的一个二叉树,你需要输出所有节点中的第二小的值。如果第二小的值不存在的话,输出 -1 。思路思路:通过dfs 找出大于rootvalue的最小值,即为所有节点中第二小的值ans初始化为-1,用于存放比根节点大的最小值

2021-07-28 10:36:42 73

原创 1713. 得到子序列的最少操作次数(java)

题目给你一个数组 target ,包含若干 互不相同 的整数,以及另一个整数数组 arr ,arr 可能 包含重复元素。每一次操作中,你可以在 arr 的任意位置插入任一整数。比方说,如果 arr = [1,4,1,2] ,那么你可以在中间添加 3 得到 [1,4,3,1,2] 。你可以在数组最开始或最后面添加整数。请你返回 最少 操作次数,使得 target 成为 arr 的一个子序列。一个数组的 子序列 指的是删除原数组的某些元素(可能一个元素都不删除),同时不改变其余元素的相对顺序得到的数组。

2021-07-26 23:58:26 195 1

原创 1743. 从相邻元素对还原数组(java)

题目存在一个由 n 个不同元素组成的整数数组 nums ,但你已经记不清具体内容。好在你还记得 nums 中的每一对相邻元素。给你一个二维整数数组 adjacentPairs ,大小为 n - 1 ,其中每个 adjacentPairs[i] = [ui, vi] 表示元素 ui 和 vi 在 nums 中相邻。题目数据保证所有由元素 nums[i] 和 nums[i+1] 组成的相邻元素对都存在于 adjacentPairs 中,存在形式可能是 [nums[i], nums[i+1]] ,也可能是

2021-07-26 12:28:24 87

原创 1893. 检查是否区域内所有整数都被覆盖

题目给你一个二维整数数组 ranges 和两个整数 left 和 right 。每个 ranges[i] = [starti, endi] 表示一个从 starti 到 endi 的 闭区间 。如果闭区间 [left, right] 内每个整数都被 ranges 中 至少一个 区间覆盖,那么请你返回 true ,否则返回 false 。已知区间 ranges[i] = [starti, endi] ,如果整数 x 满足 starti <= x <= endi ,那么我们称整数x 被覆盖了。

2021-07-23 19:58:55 125

原创 数组74.搜索二维数组(java)

题目编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。思路两个任务:1.判断有没有target2.判断矩阵是否符合条件通过一个二重循环实现。用1个prio变量记录每一行中前一个变量的值,进行比较,切换行时修改值为当前行的第一个值。代码class Solution { public boolean searchMatrix(int[][] matrix, int tar

2021-03-30 22:35:15 98

原创 栈 341 扁平化嵌套列表迭代器(java)

题目给你一个嵌套的整型列表。请你设计一个迭代器,使其能够遍历这个整型列表中的所有整数。列表中的每一项或者为一个整数,或者是另一个列表。其中列表的元素也可能是整数或是其他列表。思路dfs知识点:迭代器Iterator、List操作代码public class NestedIterator implements Iterator<Integer> { private List<Integer> vals; private Iterator<Integ

2021-03-30 22:30:41 91

原创 leetcode 227. 基本计算器 II (java)

题目给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。整数除法仅保留整数部分。思路把字符串分为数字和符号,分别设置数字栈和符号栈用于存放数据,乘除的优先级比加减高,符号栈用一个变量sign表示,只需要存放上一个符号存在大于10的实数,所以需要对连续数字进行移位相加class Solution { public int calculate(String s) { //数字+符号 先乘除后加减 需要数据栈与符号栈 int re

2021-03-12 09:21:19 120

原创 栈94. 二叉树的中序遍历(java)

题目给定一个二叉树的根节点 root ,返回它的 中序 遍历。中序:左中右例子:思路迭代:用栈模拟,每次遍历到最左,一边遍历一边压栈,到达尽头后pop,然后继续。class Solution { public List<Integer> inorderTraversal(TreeNode root) { List<Integer> ans = new ArrayList<>(); Deque<TreeN

2021-03-01 22:22:28 156

原创 数组/DP 303. 区域和检索 - 数组不可变(java)

题目给定一个整数数组 nums,求出数组从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点。实现 NumArray 类:NumArray(int[] nums) 使用数组 nums 初始化对象int sumRange(int i, int j) 返回数组 nums 从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点(也就是 sum(nums[i], nums[i + 1], … , nums[j]))例子思路妹想很复杂,就来个对象属性,直接把输入赋予给这

2021-03-01 21:56:46 110

原创 栈1021. 删除最外层的括号(java)

题目有效括号字符串为空 ("")、"(" + A + “)” 或 A + B,其中 A 和 B 都是有效的括号字符串,+ 代表字符串的连接。例如,"","()","(())()" 和 “(()(()))” 都是有效的括号字符串。如果有效字符串 S 非空,且不存在将其拆分为 S = A+B 的方法,我们称其为原语(primitive),其中 A 和 B 都是非空有效括号字符串。给出一个非空有效字符串 S,考虑将其进行原语化分解,使得:S = P_1 + P_2 + … + P_k,其中 P_i 是有效括

2021-02-28 20:16:07 161

原创 896. 单调数列(java)

题目如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。当给定的数组 A 是单调数组时返回 true,否则返回 false。思路一开始是想一次遍历,先根据前面几项判断数列是递增还是递减,然后如果遍历过程中顺序变化就返回false,否则返回true。用flag来表示数列的顺序,1为增,0为减,2为相等。需要考虑一

2021-02-28 19:30:55 465

原创 867. 转置矩阵(java)

题目给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。思路1 不一定是方阵,不能原地修改。 2 需要对矩阵进行遍历。class Solution { public int[][] transpose(int[][] matrix) { int row = matrix.length; int col = matrix[0].length; int i

2021-02-25 09:52:43 122

原创 (leetcode)832 翻转图像(java)

题目给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。思路思路:遍历矩阵,交换的同时反转。交换:头尾交换,只需要遍历到每一行的一半,注意当矩阵的行列数为偶数和奇数时有一定差别。反转:两种方法。第一是三元表达式a==0?1:0(

2021-02-24 22:44:51 90

原创 学术论文构思及写作技巧

文章目录一 期刊学会、杂志、会议公认的期刊出版社论文索引CCF推荐期刊与会议二 如何开展工作三 论文写作摘要写作注意事项参考文献一 期刊学会、杂志、会议CCF: 中国计算机学会IEEE: Institute of Electrical and Electronics Engineers 电气与电子工程师协会 (偏工程)ACM: Association for Computing Machinery 国际计算机学会 (偏研究)公认的期刊出版社这些出版社出版的论文都值得一看。论文索引

2020-11-30 18:18:09 287 3

转载 吴恩达机器学习-反向传播算法

转载自https://www.cnblogs.com/maxiaodoubao/p/9979690.html代价函数参考视频: 9 - 1 - Cost Function (7 min).mkv假设神经网络的训练样本有????个,每个包含一组输入 ???? 和一组输出信号 ????,???? 表示神经网络层数,????????表示每层神经元的个数( ???????? 表示输出层神经元个数),????????代表最后一层中处理单元的个数。  神经网络分类分两种:  (1)二类分类:????????

2020-10-21 09:42:55 281

原创 吴恩达-机器学习-基本原理、线性回归、二分类

更新中。。。。。一 监督学习监督学习是指有目标变量或预测目标的机器学习方法,包括分类和回归。’分类和回归的区别在于:而回归的目标变量是连续数值型的,如果预测鲍鱼的年龄,则可能是任意正数了。1.1 回归回归的目标变量是连续数值型的,通过回归方程来实现。1.2 分类分类的目标变量是离散的,例如某件事发生的可能值为有或无。二 无监督学习输入数据无标签则是无监督学习。2.1 聚类算法聚类就是按照某个特定标准(如距离准则)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,

2020-10-21 09:10:30 595

原创 (leetcode)701.二叉搜索树中的插入操作

给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。例如:给定二叉搜索树: 4 / \ 2 7 / \ 1 3和 插入的值: 5你可以返回这个二叉搜索树: 4 / \ 2

2020-10-01 22:40:22 67

原创 吴恩达机器学习课后作业(笔记)(目前更新到ex2正则化逻辑回归

ex1数据集https://www.kesci.com/home/project/5da16a37037db3002d441810/datasetimport numpy as npimport pandas as pdimport matplotlib.pyplot as plt# https://www.kesci.com/home/project/5da16a37037db3002d441810/code# 吴恩达机器学习 单变量线性回归梯度下降python实现path = r'C

2020-09-28 21:50:58 561

原创 python入门(更新中。。。)

廖雪峰python教程:https://www.liaoxuefeng.com/wiki/1016959663602400/1016959856222624安装从Python的官方网站下载Python 3.8对应的64位安装程序或32位安装程序,然后,运行下载的exe安装包:注意勾上Add Python 3.8 to PATH,然后点“Install Now”即可完成安装。安装完成后打开cmd,输入python,得到说明安装成功输入&输出1、输出print(123)#输出字符

2020-09-24 19:36:55 126

原创 (leetcode)617.合并二叉树

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

2020-09-23 13:35:10 83 1

原创 (leetcode)78.子集

给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]代码:方法1class Solution {List<List<Integer>> ans = new ArrayList<>(); public List&

2020-09-20 15:55:44 123

原创 剑指 Offer 30. 包含min函数的栈

原题:https://leetcode-cn.com/problems/bao-han-minhan-shu-de-zhan-lcof/定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min();

2020-09-19 20:59:34 84

原创 (leetcode)404. 左叶子之和

919的每日一题。计算给定二叉树的所有左叶子之和。示例: 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24看清题意,刚开始还把左叶子想成了左节点。代码:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode

2020-09-19 20:15:23 77

原创 (leetcode)面试题 03.04. 化栈为队

题目:https://leetcode-cn.com/problems/implement-queue-using-stacks-lcci/实现一个MyQueue类,该类用两个栈来实现一个队列。 MyQueue queue = new MyQueue(); queue.push(1); queue.push(2); queue.peek(); // 返回 1 queue.pop(); // 返回 1 queue.empty(); // 返回 false说明:你只能使用标准的栈

2020-09-19 10:09:11 104

原创 (leetcode)47. 全排列 II

给定一个可包含重复数字的序列,返回所有不重复的全排列。示例: 输入: [1,1,2] 输出: [ [1,1,2], [1,2,1], [2,1,1] ]class Solution { boolean[] vis; public List<List<Integer>> permuteUnique(int[] nums) { List<List<Integer>> ans = new Arra

2020-09-19 09:34:46 89

原创 剑指 Offer 09. 用两个栈实现队列

https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/要求:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3

2020-09-17 20:48:28 84

原创 influxdb入门

了解influxdb参考https://www.cnblogs.com/wzbk/p/10569683.html1、数据格式在 InfluxDB 中,我们可以粗略的将要存入的一条数据看作一个虚拟的 key 和其对应的 value(field value)。虚拟的 key 包括以下几个部分: database, retention policy, measurement, tag sets, field name, timestamp。database: 数据库名,在 InfluxDB 中可以创建多

2020-09-15 19:46:02 552

原创 Springboot初入门

SpringbootSpringboot是一个快速开发框架,可以迅速搭建出一套基于Spring框架体系的应用,是SpringCloud的基础。Springboot开启了各种自动装配,简化代码开发,不需要编写各种配置文件,只需要引入相关的依赖,就可迅速搭建一个应用。特点1、不需要web.xml2、不需要springmvc.xml3、内嵌tomcat4、不需要配置JSON解析,支持REST架构5、个性化配置简单如何使用1、创建maven工程,导入相关依赖。 <par

2020-08-01 15:30:53 267

原创 SpringMVC笔记

教程:https://www.bilibili.com/video/BV1GE411d7KE?p=1学Java推荐楠哥!!1、了解SpringMVCSpringMVC 是目前主流的实现MVC设计模式的企业级开发框架,属于Spring框架的一个子模块.MVC设计模式将应用程序分为Controller、Model、View三层,Controller接收请求,调用Model生成业务数据,传递给View。SpringMVC核心组件DispatcherServlet:前置控制器,是整个流程控制的核心,

2020-07-25 16:04:50 362

空空如也

空空如也

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

TA关注的人

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