自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode 51. N 皇后 java题解

题目https://leetcode-cn.com/problems/n-queens/分析是否在一条斜线上想半天都不对,哭代码class Solution { ArrayList<List<String>> list=new ArrayList<>(); char[][] res; int[] column; int[] slash1; int[] slash2; int n; public Li

2020-12-31 17:32:05 163 1

原创 二叉树的定义与性质

1.树相关的概念度:节点所拥有的子树的数目称为该节点的度 叶子节点的度为0。2.二叉树定义每个结点至多只有两颗子树,并且二叉树的子树有左右之分,其次序不能任意颠倒。性质性质1在二叉树的第i层上至多有2的i-1次方个结点。性质2深度为k的二叉树至多有2的k次方-1个结点。性质3对任意一棵二叉树,如果其叶子结点数为n0,度为2的结点数为n2,n0=n2+1。结点总数=n=n0+n1+n2结点总数=分支数+1。n=(n1+2*n2)+1所以 n0=n2+1性质4具有n个结点的

2020-12-31 15:38:52 294 1

原创 每日一题 20.12.31 LeetCode 435. 无重叠区间 java题解

题目https://leetcode-cn.com/problems/non-overlapping-intervals/方法一:贪心区间调度问题一个很经典的贪心问题是区间调度问题。分析代码class Solution { public int eraseOverlapIntervals(int[][] intervals) { int len=intervals.length; if(len==0) return 0;

2020-12-31 10:17:57 140

原创 每日一题 LeetCode 1046. 最后一块石头的重量 java题解

题目https://leetcode-cn.com/problems/last-stone-weight/代码class Solution { public int lastStoneWeight(int[] stones) { PriorityQueue<Integer> queue=new PriorityQueue<>((x,y)->(y-x)); for(int s:stones) queue.ad

2020-12-30 10:33:51 248

原创 LeetCode 188. 买卖股票的最佳时机 IV java题解

题目https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iv/分析用 buy[i][j] 表示对于数组prices[0…i] 中的价格而言,进行恰好j 笔交易,并且当前手上持有一支股票,这种情况下的最大利润;用 sell[i][j] 表示恰好进行 j 笔交易,并且当前手上不持有股票,这种情况下的最大利润。最终的答案即为sell[n−1][0…k] 中的最大值。代码class Solution { publi

2020-12-29 10:57:15 195

原创 前后端分离中Flask解决跨域问题,实现前后端对接

一.跨域1.什么是跨域2.跨域的具体操作二、代码1.以下代码,给所有请求后加入headers@app.after_requestdef af_request(resp): """ #请求钩子,在所有的请求发生后执行,加入headers。 :param resp: :return: """ resp = make_response(resp) resp.headers['Access-Control-Allow-Origin'] = '*'

2020-12-28 17:25:26 748

原创 每日一题 20.12.27 LeetCode205. 同构字符串 java题解

哈希表题目https://leetcode-cn.com/problems/isomorphic-strings/代码class Solution { public boolean isIsomorphic(String s, String t) { int len1=s.length(); int len2=t.length(); if(len1!=len2) return false; ...

2020-12-27 10:07:47 114

原创 【面经】软件开发实习生——杭州译友网络科技有限公司

今天有个笔试,发篇之前的面经攒攒人品!面试结果无了。我就是全聚(拒)德。总结不知道是不是不招Java Web。反正面试完就没有然后了。时间也很短,加上我问他们和他们介绍的时间也只有10分钟。Java基础1.String和StringBuilder2.重写和重载3.反射框架使用情况1.spring security2.spring data计算机基础1.排序啪的一下很快啊,我说了我知道的几种排序,根据不同的时间复杂度说的。场景题都不会1.解决多线程问题,比如有很多短信要发.

2020-12-26 15:08:34 488

原创 二叉树题目1

1.度数①总节点数n=n0+n1+n2,②总的链接数为n-1,n-1=n1+2n2,①-②得 1=n0-n2即n0 =n2+1;2.

2020-12-26 09:24:56 131

原创 1 计网呜呜呜呜呜

http1.http长连接和短连接的区别长连接:client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和接收。这种方式下由于通讯连接一直存在。此种方式常用于P2P通信。短连接:Client方与server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此方式常用于一点对多点通讯。2.什么是http?详细介绍一下?超文本传输协议. 不同端系统的程序间通过报文交换进行会话。运行在TCP之上。主要特点1、简单快速:客户向服务器请求服务时,只需传送请求方法

2020-12-25 21:25:20 340

原创 Java IO小例子

1.控制台读写public class IO1 { public static void main(String args[]) throws IOException { String c; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); do{ c=(String)br.readLine(); System

2020-12-25 16:20:29 113

原创 每日一题 20.12.25 455. 分发饼干 java题解

///

2020-12-25 09:38:46 161

原创 Java单例模式代码实现

双检查锁机制(Double Check Locking)实现在声明变量时使用了 volatile 关键字来保证其线程间的可见性;在同步代码块中使用二次检查,以保证其不被重复实例化同时在调用getInstance()方法时不进行同步锁,效率高。这种实现方式既保证了其高效性,也保证了其线程安全性。public class Singleton { public volatile static Singleton instance=null;//volatile保证变量可见性 private

2020-12-25 08:58:45 409 1

原创 Java对象初始化过程

1.父类 Father类代码public class Father { public static int age=0; public Father(int age){ System.out.println("before construct:father age:"+this.age); this.age=age; System.out.println("after construct:father age:"+this.age);

2020-12-24 09:55:41 169

原创 每日一题 20.12.24 LeetCode 135. 分发糖果 java题解

标签贪心题目https://leetcode-cn.com/problems/candy/1.分析先从左往右遍历,再从右往左遍历,取其中较大值。代码class Solution { public int candy(int[] ratings) { if(ratings==null||ratings.length==0) return 0; int len=ratings.length; i...

2020-12-24 09:11:26 205

原创 LeetCode 796. 旋转字符串 java题解

题目https://leetcode-cn.com/problems/rotate-string/解法一分析判断 B 是否为 A + A 的子串代码class Solution { public boolean rotateString(String A, String B) { return A.length()==B.length()&&(A+A).contains(B); }}结果解法二:KMP不会写,先放着吧。。。。。。。

2020-12-23 16:12:30 143

原创 每日一题20.12.23 387. 字符串中的第一个唯一字符 java题解

题目https://leetcode-cn.com/problems/first-unique-character-in-a-string/方法一:计数两次遍历class Solution { public int firstUniqChar(String s) { if(s==null||s.length()==0) return -1; int len=s.length(); int[] coun

2020-12-23 10:10:42 98

原创 LeetCode 91. 解码方法 java题解

题目https://leetcode-cn.com/problems/decode-ways/分析1.i和i-1可以组成10-26的数(1)组成10或20 dp[i]=dp[i-2](2)组成21-26(除了20) dp[i]=dp[i-1]+dp[i-2]2.不能组成(1)i位是0,直接返回,因为不会有正确编码了(2)i位不是0,dp[i]=dp[i-1]代码class Solution { public int numDecodings(String s) {

2020-12-22 11:53:59 159

原创 给出入栈序列判断出栈序列是否合法、求出栈序列的个数

1.判断出栈序列是否合法模拟入栈过程,为了测试出栈序列是否正确,将元素按顺序入栈进行模拟。如果能够利用栈模拟出出栈次序,说明序列正确。将序列存在队列中,将元素按顺序入栈,如果和队列首部元素相等,则弹出队列和栈,直到栈为空。最后栈不为空的话,说明序列不合法。举个例子入栈:入栈序列ABCDEF 出栈序列FECDBAF出栈:入栈序列ABCDE 出栈序列ECDBAE出栈:入栈序列ABCD 出栈序列CDBAD!=C 所以不合法2.n个元素进栈,共有多少种出栈顺序https://blog.cs

2020-12-22 09:55:14 1056 1

原创 如何找出数组里出现次数超过总数1/3的数 Java实现

数组里出现次数超过总数1/3的数最多有两个。三个不相同的数字为一组,删掉每一组。剩下的就是出现次数超过总数1/3的数。import java.util.ArrayList;import java.util.List;class Solution { public List<Integer> majorityElement(int[] nums) { ArrayList<Integer> ans = new ArrayList<Integer&g

2020-12-22 09:22:18 555 1

原创 时间复杂度

1.符号1.1 Θ记号1.2 O记号:上界1.3 Ω记号:下界2.

2020-12-18 15:20:34 98

原创 Java中的final修饰变量、方法、类

1.变量1.如果引用为基本数据类型,则该引用为常量,该值无法修改;2.如果引用为引用数据类型,比如对象、数组,则该对象、数组本身可以修改,但指向该对象或数组的地址的引用不能修改。3.如果引用时类的成员变量,则必须当场赋值,否则编译会报错。2.方法当使用final修饰方法时,这个方法将成为最终方法,无法被子类重写。但是,该方法仍然可以被继承。3.类该类成为最终类,无法被继承。...

2020-12-18 14:06:03 199

原创 每日一题 20.12.18 LeetCode 389. 找不同java题解

嚯 第一次做力扣的每日一题题目https://leetcode-cn.com/problems/find-the-difference/方法一:计数时间复杂度:O(N),其中 N 为字符串的长度。空间复杂度:O(1)。固定数量26的数组。class Solution { public char findTheDifference(String s, String t){ if(s.length()==0) return t.charAt(0).

2020-12-18 08:41:42 266

原创 10亿个数中找出最大的10000个数(top K问题)

参考答案https://blog.csdn.net/zyq522376829/article/details/47686867

2020-12-17 10:08:28 236

原创 【刷题1】LeetCode 312. 戳气球 java题解

标签分治动态规划题目https://leetcode-cn.com/problems/burst-balloons/分析在开区间(i,j)内,k是最后一个被戳爆的气球。dp[i][j]=dp[i][k] + val[i]*val[k]*val[j] + dp[k][j]枚举每个气球作为k,更新dp最大值。然后,就从 (i,j) 开区间只有三个数字的时候开始计算,储存每个小区间可以得到金币的最大值然后慢慢扩展到更大的区间,利用小区间里已经算好的数字来算更大的区间。...

2020-12-17 09:31:32 308

原创 eclipse使用hadoop:error dfs browser expects a distributedfilesystem

明天见!还没写

2020-12-16 21:49:47 1166 1

原创 Eclipse插件安装步骤、安装完不起作用

安装插件的步骤1.直接把jar包拷贝到ECLIPSE的安装路径\plugins下使之生效的办法,老师给的是用eclipse-clean,但显示我没有这个命令,所以采取下述办法2.把eclipse安装目录下的 configuration/org.eclipse.update/目录整个删除,重启eclipse。...

2020-12-16 20:56:09 955

原创 Java中的内部类:成员内部类、局部内部类、匿名内部类、静态内部类

参考:https://www.cnblogs.com/dolphin0520/p/3811445.html1.成员内部类创建创建成员内部类对象的一般形式为: 外部类类名.内部类类名 xxx = 外部类对象名.new 内部类类名()位置成员内部类是最普通的内部类,它定义在一个类的内部结构可以定义非静态属性和方法。不可以定义static修饰的属性和方法。但可以定义static final修饰的编译期变量。首先要先知道sttaic final修饰的变量叫做常量,常量分为编译期常量和非编译期

2020-12-16 13:22:22 168

原创 【刷题目录2】LeetCode 分类整理帖

单调栈LeetCode 402. 移掉K位数字 java题解LeetCode 316. 去除重复字母 java题解LeetCode 901. 股票价格跨度 java题解【刷题1】LeetCode 84. 柱状图中最大的矩形 java题解【刷题1】LeetCode 85. 最大矩形 java题解【刷题1】LeetCode 581. 最短无序连续子数组 java题解【刷题1】LeetCode 42. 接雨水 java题解...

2020-12-16 10:33:45 626

原创 Java中的迭代器Iterator/Iterable接口

1.为什么需要迭代器因为容器的内部结构不同,很多时候可能不知道该怎样去遍历一个容器中的元素。所以为了使对容器内元素的操作更为简单,Java引入了迭代器模式。迭代器总是用同一种逻辑来遍历集合。把访问逻辑从不同类型的集合类中抽取出来,从而避免向外部暴露集合的内部结构。户端自身不需要来维护集合的内部结构,所有的内部状态都由Iterator来维护。客户端不用直接和集合进行打交道,而是控制Iterator向它发送向前向后的指令,就可以遍历集合。2.java.util.Iterator3.Iterable接口

2020-12-15 15:56:27 226

原创 LeetCode 402. 移掉K位数字 java题解

题目https://leetcode-cn.com/problems/remove-k-digits/分析遍历每个数字,如果数字小于相邻数字则丢弃相邻数字。如果输入数字有序,为了必须丢弃k个,要丢弃末尾k个返回。复杂度时间复杂度:虽然内层还有一个 while 循环,但是由于每个数字最多仅会入栈出栈一次,因此时间复杂度仍然为 O(N),其中 N 为数字长度。空间复杂度:我们使用了额外的栈来存储数字,因此空间复杂度为 O(N),其中 N 为数字长度。代码class Solution {

2020-12-15 10:43:17 176

原创 LeetCode 316. 去除重复字母 java题解

我除了抄答案什么都不会。题目给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。https://leetcode-cn.com/problems/remove-duplicate-letters/分析什么是字典序:哪个字符串大取决于两个字符串中 第一个对应不相等的字符 。根据这个规则,任意一个以 a 开头的字符串都大于任意一个以 b 开头的字符串。解题过程中我们将 最小的字符尽可能的放在前面 。方法一:贪.

2020-12-15 09:48:52 666 2

原创 LeetCode 901. 股票价格跨度 java题解

标签单调栈题目https://leetcode-cn.com/problems/online-stock-span/分析我们用单调栈维护一个单调递减的价格序列,并且对于每个价格,存储一个 weight 表示它离上一个价格之间(即最近的一个大于它的价格之间)的天数。如果是栈底的价格,则存储它本身对应的天数。例如 [11, 3, 9, 5, 6, 4, 7] 对应的单调栈为 (11, weight=1), (9, weight=2), (7, weight=4)。代码class...

2020-12-13 20:59:16 282

原创 【刷题1】LeetCode 85. 最大矩形 java题解

题目https://leetcode-cn.com/problems/maximal-rectangle/方法一:动态规划分析想象一个算法,对于每个点我们会通过以下步骤计算一个矩形:不断向上方遍历,直到遇到“0”,以此找到矩形的最大高度。向左右两边扩展,直到无法容纳矩形最大高度。复杂度时间复杂度 : O(NM)。每次对于N的迭代我们会对M迭代常数次。空间复杂度 : O(M), M 是我们保留的额外数组的长度。代码class Solution { public int maxi

2020-12-12 20:02:54 430

原创 【刷题1】LeetCode 160. 相交链表 java题解

https://leetcode-cn.com/problems/intersection-of-two-linked-lists//** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * }

2020-12-12 11:06:36 104

原创 【刷题1】LeetCode 84. 柱状图中最大的矩形 java题解

题目https://leetcode-cn.com/problems/largest-rectangle-in-histogram/方法一:单调栈

2020-12-11 11:40:52 329 1

原创 给定k个排好序的序列,设计一个算法确定2路合并次序,使所需的总比较次数最少。Java代码

算法分析与设计作业一、实验目的(1)掌握贪心算法的基本思想;(2)能使用贪心算法求解一些相关问题;二、实验内容1、给定k个排好序的序列s1,s2,…,sk,用2路合并算法将这k个序列合并成一个序列。假设所采用的2路合并算法合并2个长度为m和n的序列需要m+n-1次比较。设计一个算法确定2路合并次序,使所需的总比较次数最少。三、贪心算法基本思想要想使总比较次数最少,需要先合并短的序列,使短序列合并最多次,使长序列合并最少次。因此,我们每次选长度最短的序列进行合并。利用优先队列的性质,存放各序列

2020-12-11 09:19:07 2422 4

原创 python导包失败的解决办法:手动安装文件压缩包

1.在网上下载所需压缩包2.将上压缩文件下载至所需安装目录下,如pycharm虚拟环境的“xxx\venv\Scripts”3.以管理员权限打开CMD。进入下载文件目录,即所需安装目录4.执行pip install xxxxxxx.tar.gz

2020-12-10 19:04:10 444 1

原创 LeetCode 1358. 包含所有三种字符的子字符串数目 java题解

题目方法一:双指针分析i为左边界,j为右边界。从i开始,如果 [i,j] 符合条件,那么[i,j+1]也符合条件。怎样判断当前窗口是否符合条件?对 abc 分别计数,每一个字符串都去遍历每个字符来计数的话太慢了,我们需要充分利用移动窗口前的计数信息,在之前的基础上相应的计数+1/-1。代码class Solution { public int numberOfSubstrings(String s) { int len=s.length(); int

2020-12-10 14:23:38 242

原创 【刷题1】LeetCode 128. 最长连续序列 java题解

标签并查集哈希表题目128. 最长连续序列分析考虑枚举数组中的每个数x,考虑以其为起点,不断尝试匹配 x+1, x+2,⋯ 是否存在,假设最长匹配到了 x+y,那么以 x 为起点的最长连续序列即为 x, x+1, x+2,x+y,其长度为 y+1,我们不断枚举并更新答案即可。怎样知道一个数是否存在?比起遍历,我们选择用哈希表来存储所有数,这样匹配只需要O(1)的复杂度。仅仅是这样我们的算法时间复杂度最坏情况下还是会达到 O(n^2)(即外层需要枚举 O(n) 个数,...

2020-12-10 09:41:06 278

jsp+mysql实现手机销售信息管理系统的源码,JavaWeb数据库课程作业

我有一篇博客是关于这个系统的(jsp+mysql实现手机销售信息管理系统),鉴于大家对源码的需求,所以去翻了以前的电脑以前的作业,打包上传。

2024-06-11

空空如也

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

TA关注的人

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