自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021.07.19

git 命令本地仓库命令:git commit:提交git branch <name>:建立分支git rebase <name>:合并到另一个分支的下面git merge<name>:合并分支成为新的分支git checkout <name>:切换分支git checkout c1 or c2 or c3:变更HEAD指向git checkout <name>^ HEAD:HEAD上移一个分支git checkout HEAD~

2021-07-20 09:38:37 129

原创 2021.07.18

动态规划设计之最长递增子序列题目注意注意「子序列」和「子串」这两个名词的区别,子串一定是连续的,而子序列不一定是连续的。下面先来设计动态规划算法解决这个问题。思路我们先假设这个结论在 k<n 时成立,然后根据这个假设,想办法推导证明出 k=n 的时候此结论也成立。可以假设 dp[0…i-1] 都已经被算出来了,然后问自己:怎么通过这些结果算出 dp[i]?定义:dp[i] 表示以 nums[i] 这个数结尾的最长递增子序列的长度。如:最终结果(子序列的最大长度)应该是 dp 数

2021-07-19 07:18:03 168

原创 2021.06.28

二分查找的应用例题一代码// 寻找左侧边界的二分查找int shipWithinDays(int[] weights, int D) { // 载重可能的最小值 int left = getMax(weights); // 载重可能的最大值 + 1 int right = getSum(weights) + 1; while (left < right) { int mid = left + (right - left) / 2;

2021-06-28 21:35:52 147

原创 2021.06.27

单调队列单调队列概念:队列中的元素全都是单调递增(或递减)的。算法框架class MonotonicQueue { // 双链表,支持头部和尾部增删元素 private LinkedList<Integer> q = new LinkedList<>(); // 在队尾添加元素 n public void push(int n) { // 将前面小于自己的元素都删除 while (!q.isEmpty() && q

2021-06-27 23:05:46 97

原创 2021.06.26

一道LinkedHashMap<>题目class Person { public String name; @Override public boolean equals(Object o) { Person person = (Person) o; return name.equals(person.name); }

2021-06-26 19:13:22 88

原创 2021.06.24

单调栈框架:vector<int> nextGreaterElement(vector<int>& nums) { vector<int> res(nums.size()); // 存放答案的数组 stack<int> s; // 倒着往栈里放 for (int i = nums.size() - 1; i >= 0; i--) { // 判定个子高矮 while (!s.emp

2021-06-25 09:04:12 97

原创 2021.06.23

设计推特面向对象设计整体框架class Twitter { private static int timestamp = 0; private static class Tweet {} private static class User {} /* 还有那几个 API 方法 */ public void postTweet(int userId, int tweetId) {} public List<Integer> getNewsFe

2021-06-23 21:10:56 91

原创 2021.06.22

最大栈设计要求:我们仔细思考一下 push 和 pop 方法,难点如下:1、每次 pop 时,必须要知道频率最高的元素是什么。2、如果频率最高的元素有多个,还得知道哪个是最近 push 进来的元素是哪个。做法:为了实现上述难点,我们要做到以下几点:1、肯定要有一个变量 maxFreq 记录当前栈中最高的频率是多少。2、我们得知道一个频率 freq 对应的元素有哪些,且这些元素要有时间顺序。3、随着 pop 的调用,每个 val 对应的频率会变化,所以还得维持一个映射记录每个 val 对应的

2021-06-23 10:28:52 74

原创 2021.06.20

LFU算法LFU算法逻辑:1、调用get(key)方法时,要返回该key对应的val。2、只要用get或者put方法访问一次某个key,该key的freq就要加一。3、如果在容量满了的时候进行插入,则需要将freq最小的key删除,如果最小的freq对应多个key,则删除其中最旧的那一个。我们希望能够在 O(1) 的时间内解决这些需求,可以使用基本数据结构来逐个击破:1、使用一个HashMap存储key到val的映射,就可以快速计算get(key)。HashMap<Integer, In

2021-06-20 22:05:01 100

原创 2021.06.15

括号生成–力扣方法:回溯回溯算法框架:result = []def backtrack(路径, 选择列表): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: 做选择 backtrack(路径, 选择列表) 撤销选择核心回溯算法代码public void core(StringBuilder sb, List<String> re

2021-06-15 19:48:59 2181 1

原创 2021.06.14

队列实现栈|栈实现队列队列实现栈当调用push()时,将元素压入s1中。当pop()时,将s2中的元素弹出,如果s2中没有元素,就从s1一个个弹出并拿到。如果s1中也没有,则代表队列尾空。栈实现队列每当元素需要pop()时,都需要将之前的元素弹出并放在另一个栈中,待最后一个元素弹出后,将元素重新压回栈。二叉堆详解实现优先级队列注意:对数组中的元素进行操作,相关的索引概念,索引0为空// 父节点的索引int parent(int root) { return root / 2;

2021-06-15 08:49:57 89

原创 2021.6.11

访问修饰符public,private,protected,以及不写时的区别?答:返回顶部 Java面向对象四种基本特性答:Java面向对象四种基本特性:抽象、封装、继承、多态,可以这么理解,多态体现在抽象、封装以及继承上,而抽象、继承、封装体现在Java中的多态特性中. 也可以这么理解:多态是抽象、封装、继承的体现,抽象、封装、继承是多态的基础. Java中的多态就是对同一类消做出不同响应就叫做多态,Java中23中设计模式很大一部分就就是利用Java中多态来完成的. 其目的就是为

2021-06-11 22:05:55 99

原创 2021.6.10

O(1)的时间,删除/查找数组中的任意元素:避开黑名单的随机数给你输入一个正整数 N,代表左闭右开区间 [0,N),再给你输入一个数组 blacklist,其中包含一些「黑名单数字」,且 blacklist 中的数字都是区间 [0,N) 中的数字。现在要求你设计如下数据结构:class Solution {public: // 构造函数,输入参数 Solution(int N, vector<int>& blacklist) {} // 在区间

2021-06-10 21:17:54 101

原创 2021.06.09

O(1) 时间,查找/删除数组中的任意元素如果用数组存储元素的话,插入,删除的时间复杂度怎么可能是 O(1) 呢?可以做到!对数组尾部进行插入和删除操作不会涉及数据搬移,时间复杂度是 O(1)。所以,如果我们想在 O(1) 的时间删除数组中的某一个元素val,可以先把这个元素交换到数组的尾部,然后再pop掉。交换两个元素必须通过索引进行交换对吧,那么我们需要一个哈希表valToIndex来记录每个元素值对应的索引。class RandomizedSet {public: // 存储元素的

2021-06-09 22:11:49 80

原创 2021.6.8

问:接口和抽象类的区别?答:接口:1.接口使用interface来定义2.Java中,接口和类是并列的两个结构3.接口中的成员JDK7及以前:只能定义全局常量和抽象方法>全局常量:public static final的.但是书写时,可以省略不写>抽象方法:public abstract的 JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法(略)(可以由实现类的对象直接调用(注意遵守类优先原则和解决接口冲突问题))(为了解决接口中增加一个抽象方法,实现类必须

2021-06-08 08:53:43 98

原创 Java基础面试题

Java基础面试题问:接口和抽象类的区别?问:重载和重写的区别问:sleep() 的 wait()区别问:Synchronized 和 lock 的区别问:属性赋值的先后顺序问:异常的体系结构问:线程的生命周期问:String s = new String("abc");方式创建对象,在内存中创建了几个对象?问:StringBuffer与StringBuilder的内存解析问:接口和抽象类的区别?答:接口:1.接口使用interface来定义2.Java中,接口和类是并列的两个结构3.接口中的成

2021-06-03 21:58:35 542

原创 笔试算法框架

算法框架动态规划框架回溯算法框架二分查找框架小结滑动窗口框架动态规划框架求解动态规划的核心问题是穷举存在「重叠子问题」具备「最优子结构」明确 base case -> 明确「状态」-> 明确「选择」 -> 定义 dp 数组/函数的含义# 初始化 base casedp[0][0][...] = base# 进行状态转移for 状态1 in 状态1的所有取值: for 状态2 in 状态2的所有取值: for ... dp

2021-05-26 09:28:53 284

原创 算法笔记2

算法笔记1.链表总结1.链表递归法92. 反转链表 II问题:问题细分:1)递归反转整个链表ListNode reverse(ListNode head) { if (head.next == null) return head; ListNode last = reverse(head.next); head.next.next = head; head.next = null; return last;}根据递归的定义,清除代码会产生什么样的

2021-05-16 15:43:23 140

原创 线程相关问答题

多线程相关问:讲一下进程、线程、协程问:讲一下进程、线程、协程答:打个比方:有一个老板想要开一个工厂进行生产某件商品(例如电视机),他需要花一些财力物力制作一条生产线,这个生产线上有很多的器件以及材料。这些所有的为了能够生产电视机而准备的资源称为 :进程只有生产线是不能够进行生产的,所以老板找个工人来进行生产,这个工人能够利用这些材料最终一步步的将剪子做出来,这个来做事情的工人称为:线程这个老板为了提高生产率,想到3种办法:在这条生产线上多招些工人,一起来做电视机,这样的效率是成倍增长的,即单进

2021-05-09 20:29:24 154

原创 Web相关问答题

Web相关问答题get、post的区别和使用场景?get、post的区别和使用场景?答:1.get请求会以明文的方式将数据显示在URL之后(HTTP请求行)(以?来分隔URL和数据,以&来分隔参数,数字和英文原样发送,中文或其他字符进行BASE64编码),安全性低;post请求是可以加密数据的,数据存于HTTP请求数据中,安全性高。2.get提交的数据比较少,有容量的限制;而post理论上来说没有容量的限制。3.get请求用于查询数据;post用于修改数据,例如,处理订货表单、在数据库中加

2021-05-09 20:23:06 155

原创 org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document fro

错误问题org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/dispatcherServlet-servlet.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext re

2020-06-11 22:53:33 273

原创 java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyResultSet.isClosed()Z is abst

ssm整合项目学习的时候出现了以下错误java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyResultSet.isClosed()Z is abstract at com.mchange.v2.c3p0.impl.NewProxyResultSet.isClosed(NewProxyResultSet.java) at org.apache.ibatis.executor.resultset.DefaultR

2020-06-11 21:51:31 721

原创 IDEA中,给web添加文件夹在映射的文件中未显示时

IDEA中,给web添加文件夹在映射的文件中未显示时Build – Build Artifacts – All Artifacts – clean再次点击 Build – Build Artifacts – All Artifacts

2020-05-31 17:31:29 207

原创 javaweb中有关类加载器的空指针问题

今天在练习动态web项目的时候发现老是出现空指针的问题,最后找到了是由于类加载器读取配制文件的问题。软件用的是IDEA![在这里插入图片描述](https://img-blog.csdnimg.cn/2020041523433186.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM...

2020-04-15 23:48:34 532

原创 JAVA笔记 2 :基本语法

文章目录1.Java关键字与标识符1.1java关键字的使用1.2保留字1.3标识符的使用1.4变量的分类1.5基本数据类型变量间运算规则1.5.1自动类型转换1.5.2强制类型转换1.5.3String与8种基本数据类型间的运算2.运算符3 流程控制3.1 分支结构3.1.1 if-else条件判断结构3.1.2 switch-case选择结构3.2 循环结构3.2.1 for循环结构3.2.2...

2020-03-04 17:26:22 63

原创 JAVA笔记 1 :概述

文章目录Java语言概述Java语言的特点==开发环境的搭建==path环境变量的配置为什么配置path环境变量如何配置第一个Java程序程序执行的过程:常见问题的解决总结第一个程序Java语言概述应用程序 = 算法 + 数据结构常用的DOS命令dir : 列出当前目录下的文件以及文件夹md : 创建目录rd : 删除目录cd : 进入指定目录cd… : 退回到上一级目录cd\...

2020-03-04 16:03:34 176

原创 IDEA 导入 Module

1.把需要的Module复制到原来的工程下(此时Module中的内容只是一个文件,不能运行)2.菜单栏中找到“File”找到 Project Structure3.点击“+”,再点 Import Module4.找到相应的文件目录后出现这个界面,选中第一个。之后一直Next操作...

2020-02-03 17:18:38 900

转载 idea错误:找不到或无法加载主类

idea 错误: 找不到或无法加载主类(汇总贴)idea 错误: 找不到或无法加载主类 xxx.xxx.xxxxxJDK环境,maven项目还是ee还是web项目,是否都正常。如果是用idea打开的话,在源码目录上点击右键,然后找到Mark directory as->source root看这篇:(真的是主类没找到)http://www.cnblogs.com/mrray1105...

2020-01-30 16:33:23 371

空空如也

空空如也

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

TA关注的人

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