Slayer_Zhao的博客

会点算法の前端zzzz~~
私信 关注
Slayer_Zhao
码龄4年

full-stack programmer

  • 110,501
    被访问量
  • 281
    原创文章
  • 19,370
    作者排名
  • 84
    粉丝数量
  • 于 2017-05-24 加入CSDN
获得成就
  • 获得97次点赞
  • 内容获得39次评论
  • 获得366次收藏
荣誉勋章
兴趣领域
  • #后端
    #Java
TA的专栏
  • 数据库
    10篇
  • Java
    52篇
  • 计算机基础
    13篇
  • Java面试
    122篇
  • 消息队列
    8篇
  • Cloud Computing
    3篇
  • Vison and Image
    5篇
  • Data Engineering
    3篇
  • Tensorflow
    2篇
  • 剑指Offer
    15篇
  • 最短路径问题
    7篇
  • 蓝桥杯
    13篇
  • 深度优先搜索DFS
    3篇
  • 动态规划
    3篇
  • LeetCode
    119篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

HTTP/3 原理实战

2015 年 HTTP/2 标准发表后,大多数主流浏览器也于当年年底支持该标准。此后,凭借着多路复用、头部压缩、服务器推送等优势,HTTP/2 得到了越来越多开发者的青睐。不知不觉的 HTTP 已经发展到了第三代,鹅厂也紧跟技术潮流,很多项目也在逐渐使用 HTTP/3。本文基于兴趣部落接入 HTTP/3 的实践,聊一聊 HTTP/3 的原理以及业务接入的方式。1. HTTP/3 原理1.1 HTTP 历史在介绍 HTTP/3 之前,我们先简单看下 HTTP 的历史,了解下 HTTP/3 出现的背
转载
85阅读
0评论
0点赞
发布博客于 3 月前

Go 为什么这么“快”

怎么让我们的系统更快随着信息技术的迅速发展,单台服务器处理能力越来越强,迫使编程模式由从前的串行模式升级到并发模型。并发模型包含 IO 多路复用、多进程以及多线程,这几种模型都各有优劣,现代复杂的高并发架构大多是几种模型协同使用,不同场景应用不同模型,扬长避短,发挥服务器的最大性能。而多线程,因为其轻量和易用,成为并发编程中使用频率最高的并发模型,包括后衍生的协程等其他子产品,也都基于它。并发 ≠ 并行并发 (concurrency) 和 并行 ( parallelism) 是不同.
转载
133阅读
0评论
1点赞
发布博客于 3 月前

深入理解 MySQL 索引底层原理

Mysql 作为互联网中非常热门的数据库,其底层的存储引擎和数据检索引擎的设计非常重要,尤其是 Mysql 数据的存储形式以及索引的设计,决定了 Mysql 整体的数据检索性能。我们知道,索引的作用是做数据的快速检索,而快速检索的实现的本质是数据结构。通过不同数据结构的选择,实现各种数据快速检索。在数据库中,高效的查找算法是非常重要的,因为数据库中存储了大量数据,一个高效的索引能节省巨大的时间。比如下面这个数据表,如果 Mysql 没有实现索引算法,那么查找 id=7 这个数据,那么只能采取暴力顺序遍历
转载
62阅读
0评论
1点赞
发布博客于 3 月前

Java线程池实现原理及其在美团业务中的实践

一、写在前面1.1 线程池是什么线程池(Thread Pool)是一种基于池化思想管理线程的工具,经常出现在多线程服务器中,如MySQL。线程过多会带来额外的开销,其中包括创建销毁线程的开销、调度线程的开销等等,同时也降低了计算机的整体性能。线程池维护多个线程,等待监督管理者分配可并发执行的任务。这种做法,一方面避免了处理任务时创建销毁线程开销的代价,另一方面避免了线程数量膨胀导致的过分调度问题,保证了对内核的充分利用。而本文描述线程池是JDK中提供的ThreadPoolExecutor类。
转载
43阅读
0评论
0点赞
发布博客于 3 月前

GirlFriendNotFoundException(七夕限定款)

首先我们需要实现一个自己的Exception/** * GirlFriendNotFoundException * @author Dongyu ZHAO */public class GirlFriendNotFoundException extends Exception { private String msg; public GirlFriendNotFoundException(String msg) { this.msg = msg; }
原创
963阅读
7评论
6点赞
发布博客于 7 月前

浅谈领域驱动设计(DDD)

什么是DDD软件开发不是一蹴而就的事情,我们不可能在不了解产品(或行业领域)的前提下进行软件开发,在开发前,通常需要进行大量的业务知识梳理,而后到达软件设计的层面,最后才是开发。而在业务知识梳理的过程中,我们必然会形成某个领域知识,根据领域知识来一步步驱动软件设计,就是领域驱动设计的基本概念。听起来这和传统意义的软件开发没啥区别,只是换了点新鲜的名词而已,其实不然。软件开发 VS DDD一般软件设计或者说软件开发分两种:瀑布式,敏捷式。前者一般是项目经理经过大量的业务分析后,会基于现有需
转载
211阅读
1评论
0点赞
发布博客于 8 月前

学习消息队列需要关注的几个问题

核心点有很多,为了更贴合实际场景,我从常见的面试问题入手: 如何保证消息不丢失? 如何处理重复消息? 如何保证消息的有序性? 如何处理消息堆积? 当然在剖析这几个问题之前需要简单的介绍下什么是消息队列,消息队列常见的一些基本术语和概念。接下来进入正文。什么是消息队列来看看维基百科怎么说的,顺带学学英语这波不亏:In computer science, message queues and mailboxes are software-engine..
原创
181阅读
0评论
0点赞
发布博客于 8 月前

详解计算机中的“文件系统“

前言不多 BB,直接上「硬菜」。正文文件系统的基本组成文件系统是操作系统中负责管理持久数据的子系统,说简单点,就是负责把用户的文件存到磁盘硬件中,因为即使计算机断电了,磁盘里的数据并不会丢失,所以可以持久化的保存文件。文件系统的基本数据单位是文件,它的目的是对磁盘上的文件进行组织管理,那组织的方式不同,就会形成不同的文件系统。Linux 最经典的一句话是:「一切皆文件」,不仅普通的文件和目录,就连块设备、管道、socket 等,也都是统一交给文件系统管理的。Linux 文件系
原创
462阅读
0评论
1点赞
发布博客于 8 月前

Dubbo中的SPI机制

前言Dubbo 的成功离不开它采用微内核设计+SPI扩展,使得有特殊需求的接入方可以自定义扩展,做定制的二次开发。良好的扩展性对于一个框架而言尤其重要,框架顾名思义就是搭好核心架子,给予用户简单便捷的使用,同时也需要满足他们定制化的需求。Dubbo 就依靠 SPI 机制实现了插件化功能,几乎将所有的功能组件做成基于 SPI 实现,并且默认提供了很多可以直接使用的扩展点,实现了面向功能进行拆分的对扩展开放的架构。什么是 SPI首先我们得先知道什么叫 SPI。SPI (Service
转载
234阅读
0评论
0点赞
发布博客于 8 月前

线上FullGC排查思路/实战/解决方案

线上服务的GC问题,是Java程序非常典型的一类问题,非常考验工程师排查问题的能力。同时,几乎是面试必考题,但是能真正答好此题的人并不多,要么原理没吃透,要么缺乏实战经验。过去半年时间里,我们的广告系统出现了多次和GC相关的线上问题,有Full GC过于频繁的,有Young GC耗时过长的,这些问题带来的影响是:GC过程中的程序卡顿,进一步导致服务超时从而影响到广告收入。这篇文章,我将以一个FGC频繁的线上案例作为引子,详细介绍下GC的排查过程,另外会结合GC的运行原理给出一份实践指南,希望对你有所
原创
322阅读
0评论
0点赞
发布博客于 11 月前

【详细解析】深入理解synchronized底层原理

目录正文场景有序性可见性原子性可重入性不可中断性底层实现同步代码同步方法monitor1.5 重量级锁那用户态和内核态又是啥呢?1.6 优化锁升级偏向锁轻量级锁自旋锁用synchronized还是Lock呢?多线程的东西很多,也很有意思,所以我最近的重心可能都是多线程的方向去靠了,不知道大家喜欢否?阅读本文之前阅读以下两篇文章会帮助你更好的理解:Volatile乐观锁&悲观锁正文场景我们正常.
转载
439阅读
0评论
0点赞
发布博客于 1 年前

【详细解读】计算机操作系统知识点总览

1解释一下什么是操作系统操作系统是运行在计算机上最重要的一种软件,它管理计算机的资源和进程以及所有的硬件和软件。它为计算机硬件和软件提供了一种中间层通常情况下,计算机上会运行着许多应用程序,它们都需要对内存和 CPU 进行交互,操作系统的目的就是为了保证这些访问和交互能够准确无误的进行。2解释一下操作系统的主要目的是什么操作系统是一种软件,它的主要目的有三种 管理计算机资源,这些资源包括 CPU、内存、磁盘驱动器、打印机等。 提供一种图形界面,就像我们前面...
转载
695阅读
0评论
0点赞
发布博客于 1 年前

【源码解析】35张图详解 AQS底层原理

目录前言1AQS实现原理2 目录结构3 场景分析4 公平锁实现原理5 Condition实现原理6 总结前言谈到并发,我们不得不说AQS(AbstractQueuedSynchronizer),所谓的AQS即是抽象的队列式的同步器,内部定义了很多锁相关的方法,我们熟知的ReentrantLock、ReentrantReadWriteLock、CountDownLatch、Semaphore等都是基于AQS来实现的。我们先看下AQS相关的UML图:1AQ..
转载
260阅读
0评论
0点赞
发布博客于 1 年前

【详细总结】你所需要掌握的Java后端知识点

目录SpringSpring框架的七大模块Bean定义5种作用域spring ioc初始化流程?BeanDefinition加载流程?DI依赖注入流程? (实例化,处理Bean之间的依赖关系)依赖注入怎么处理bean之间的依赖关系?Bean的生命周期?Spring的IOC注入方式怎么检测是否存在循环依赖?Spring如解决Bean循环依赖问题?Spr...
转载
1561阅读
0评论
5点赞
发布博客于 1 年前

深入浅出SpringIOC(是何,为何,如何)

前言本文围绕 是何、为何、如何 来谈:是何上一篇文章有同学问我在官网该看哪些内容,怎么找的,那今天的截图里都会有链接。初识 IoC根据上一篇文章我们说的,Spring 全家桶中最重要的几个项目都是基于 Spring Framework 的,所以我们就以 Spring Framework 为例来看文档[2]。首先它的右侧有 Github 的链接,另外点到「LEARN」这里...
转载
262阅读
0评论
0点赞
发布博客于 1 年前

[详细分析]Java-ArrayList源码全解析

类图 实现了RandomAccess接口,可以随机访问 实现了Cloneable接口,可以克隆 实现了Serializable接口,可以序列化、反序列化 实现了List接口,是List的实现类之一 实现了Collection接口,是Java Collections Framework成员之一 实现了Iterable接口,可以使用for-e...
原创
212阅读
0评论
0点赞
发布博客于 1 年前

什么是Spring事务传播行为?

作者 | handaqiang地址 | https://segmentfault.com/a/1190000013341344目录前言基础概念1. 什么是事务传播行为?2. Spring 中七种事务传播行为代码验证1.PROPAGATION_REQUIRED1.1 场景一1.2 场景二2.PROPAGATION_REQUIRES_NEW2.1 ...
转载
322阅读
0评论
0点赞
发布博客于 1 年前

Java-Volatile的作用以及底层实现原理

Volatile可能是面试里面必问的一个话题吧,对他的认知很多朋友也仅限于会用阶段,今天我们换个角度去看看。先来看一段demo的代码:你会发现,永远都不会输出有点东西这一段代码,按道理线程改了flag变量,主线程也能访问到的呀?为会出现这个情况呢?那我们就需要聊一下另外一个东西了。JMM(JavaMemoryModel)JMM:Java内存模型,是java虚拟机规范中...
转载
1794阅读
0评论
3点赞
发布博客于 1 年前

利用Sklearn和pyspark进行旧金山犯罪数据集的预测

数据集格式CrimePredict.pyimport pandas as pdimport numpy as npres_dic = []# 1、载入数据train = pd.read_csv('processed_train.csv', parse_dates = ['Dates'])#input train_pathtest = pd.read_csv('proce...
原创
447阅读
0评论
0点赞
发布博客于 1 年前

为什么HashMap线程不安全?

目录1.jdk1.7中的HashMap1.1 扩容造成死循环分析过程1.2 扩容造成数据丢失分析过程2.jdk1.8中HashMap总结前言:我们都知道HashMap是线程不安全的,在多线程环境中不建议使用,但是其线程不安全主要体现在什么地方呢,本文将对该问题进行解密。1.jdk1.7中的HashMap在jdk1.8中对HashMap做了很多优化,这里先分析在jdk...
原创
153阅读
0评论
0点赞
发布博客于 1 年前

ubuntu下使用ycsb对mongoDB进行性能测试

运行环境 :amazon ubuntu18.04ycsb需要java maven python环境,并测试下是否安装成功sudo apt install openjdk-8-jre-headlessjava -versionsudo apt install mavenmvn --versionsudo apt install pythonpython --versio...
原创
251阅读
0评论
0点赞
发布博客于 1 年前

为什么在for循环里用+拼接字符串不好

本文,是对于Java中字符串相关知识的一个补充,主要来介绍一下字符串拼接相关的知识。本文基于jdk1.8.0_181。字符串拼接字符串拼接是我们在Java代码中比较经常要做的事情,就是把多个字符串拼接到一起。我们都知道,String是Java中一个不可变的类,所以他一旦被实例化就无法被修改。不可变类的实例一旦创建,其成员变量的值就不能被修改。这样设计有很多好处,比如可以缓...
原创
373阅读
0评论
0点赞
发布博客于 1 年前

关于Redis,你所需要知道的一切

前言Redis作为一个开源的,高级的键值存储和一个适用的解决方案,已经越来越在构建「高性能」、「可扩展」的 Web 应用上发挥着举足轻重的作用。当今互联网技术架构中Redis已然成为了应用得最广泛的中间件之一,它也是中高级后端工程技术面试中面试官最喜欢问的工程技能之一,不仅仅要求着我们对基本的使用进行掌握,更要深层次地理解 Redis内部实现的细节原理。熟练掌握 ...
原创
201阅读
0评论
1点赞
发布博客于 1 年前

由一对立体图像组(Stereo image pairs)生成Disparity Map和Epipolar Line

import numpy as npimport cv2#pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-contrib-pythonprint('loading images...')imgL = cv2.imread('data_PG/relative_height/1_a.jpg') # down...
原创
745阅读
0评论
1点赞
发布博客于 1 年前

AQS中的公平锁和非公平锁

正文公平锁:多个线程按照申请锁的顺序去获得锁,线程会直接进入队列去排队,永远都是队列的第一位才能得到锁。 优点:所有的线程都能得到资源,不会饿死在队列中。 缺点:吞吐量会下降很多,队列里面除了第一个线程,其他的线程都会阻塞,cpu唤醒阻塞线程的开销会很大。 非公平锁:多个线程去获取锁的时候,会直接去尝试获取,获取不到,再去进入等待队列,如果能获取到,就直接获取到锁。 ...
原创
1318阅读
2评论
2点赞
发布博客于 1 年前

MapReduce统计词频demo

目录结构pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaL...
原创
285阅读
0评论
0点赞
发布博客于 1 年前

Mysql 乐观锁和悲观锁

悲观锁悲观锁(Pessimistic Lock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。Java synchronized 就属于悲观锁的一种实现,每次线程要修改数据时都先获得锁,保证同一时刻只有一个线程能操作数据,其他线程则...
原创
132阅读
0评论
0点赞
发布博客于 1 年前

HTTP状态码总结

HTTP状态码的职责是当客户端向服务器发送请求时,描述返回的请求结果。借助状态码,用户可以知道服务器端是正常处理了请求还是出现了错误。状态码的类别:1XX Informational(信息性状态码) 接受的请求正在处理2XX Success(成功状态码) 请求正常处理完毕3XX Redirection(重定向状态码) 需要进行附加操作以完成请求4XX...
原创
228阅读
0评论
0点赞
发布博客于 1 年前

【最详细解析】HTTP和HTTPS的区别

HTTPS 为什么会出现一个新技术的出现必定是为了解决某种问题的,那么 HTTPS 解决了 HTTP 的什么问题呢?HTTPS 解决了什么问题一个简单的回答可能会是HTTP它不安全。由于 HTTP 天生明文传输的特性,在 HTTP 的传输过程中,任何人都有可能从中截获、修改或者伪造请求发送,所以可以认为 HTTP 是不安全的;在 HTTP 的传输过程中不会验证通信方的身份,因...
原创
195阅读
0评论
0点赞
发布博客于 1 年前

Fer2013表情识别Group_Project_Document

关于数据集首先关于如何把csv文件中的数字文件还原为图片可以看我的这篇博文https://blog.csdn.net/qq_38905818/article/details/104411572首先我们要搞清楚,为什么数据集要分为train、val、testtrain是训练集,val是训练过程中的测试集,是为了让你在边训练边看到训练的结果,及时判断学习状态。test就是训练...
原创
473阅读
0评论
1点赞
发布博客于 1 年前

java实现多个集合输出所有的排列组合

import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class AirticketTest { public static void main(String[] args) { String[] listPrice = {"5000"}; S...
原创
1956阅读
1评论
1点赞
发布博客于 1 年前

Mybatis一级缓存和二级缓存的区别

1)一级缓存 Mybatis的一级缓存是指SQLSession,一级缓存的作用域是SQlSession, Mabits默认开启一级缓存。 在同一个SqlSession中,执行相同的SQL查询时;第一次会去查询数据库,并写在缓存中,第二次会直接从缓存中取。 当执行SQL时候两次查询中间发生了增删改的操作,则SQLSession的缓存会被清空。 每次查询会先去缓存中找,如果找不到,再去数据库查询,然...
原创
15580阅读
2评论
7点赞
发布博客于 1 年前

Leetcode(Java)-77. 组合

给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。示例:输入:n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]class Solution { List<List<Integer>> res = new LinkedList...
原创
142阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-543. 二叉树的直径

给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回3, 它的长度是路径 [4,2,1,3] 或者[5,2,1,3]。注意:两结点之间的路径长度是以它们...
原创
142阅读
0评论
1点赞
发布博客于 1 年前

跳跃表及底层实现原理解析

目录一、跳跃表简介为什么使用跳跃表本质是解决查找问题更进一步的跳跃表二、跳跃表的实现随机层数创建跳跃表插入节点实现第一部分:声明需要存储的变量第二部分:搜索当前节点插入位置第三部分:生成插入节点第四部分:重排前向指针第五部分:重排后向指针并返回节点删除实现节点更新实现元素排名的实现一、跳跃表简介跳跃表(skiplist)...
原创
759阅读
1评论
8点赞
发布博客于 1 年前

Cloud Computing - Proposal 云服务器上多种类型数据库的性能比较和原理探究

题目:云服务器上多种类型数据库的性能比较和原理探究我们选取了三种不同类型的数据库:Mysql、MongoDB、Redis 来测试它们在不同种类的云服务器上的读写性能、网络并发性能、存储性能、CPU占用率、事务处理能力以及安全性能方面的区别,并且结合数据库的底层实现原理来解释这种性能方面的区别。其中Mysql是一种关系型数据库。关系型数据库是一种基于关系的数据库,而关系模型可通过二维...
原创
204阅读
0评论
0点赞
发布博客于 1 年前

【深度解析】Java中的乐观锁、悲观锁

前言关于线程安全一提到可能就是加锁,在面试中也是面试官百问不厌的考察点,往往能看出面试者的基本功和是否对线程安全有自己的思考。那锁本身是怎么去实现的呢?又有哪些加锁的方式呢?我今天就简单聊一下乐观锁和悲观锁,他们对应的实现 CAS ,Synchronized,ReentrantLockCAS(Compare And Swap 比较并且替换)是乐观锁的一种实现方式,是一种轻量级...
原创
3850阅读
0评论
5点赞
发布博客于 1 年前

Leetcode(Java)-35. 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0...
原创
137阅读
0评论
0点赞
发布博客于 1 年前

Fast-Rcnn实现图像主体识别(使用pretrained-model COCO)

coco_names.pynames = {'0': 'background', '1': 'person', '2': 'bicycle', '3': 'car', '4': 'motorcycle', '5': 'airplane', '6': 'bus', '7': 'train', '8': 'truck', '9': 'boat', '10': 'traffic light',...
原创
615阅读
0评论
0点赞
发布博客于 1 年前

Java栈的实现(原生实现)

public class MyStack { private int maxSize; private long[] stackArray; private int top; public MyStack(int s) { maxSize = s; stackArray = new long[maxSize]; top = -1; ...
原创
137阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-27. 移除元素

给定一个数组 nums和一个值 val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两...
原创
121阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-12. 整数转罗马数字

罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。1...
原创
130阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-13. 罗马数字转整数

罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。1...
原创
124阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-344. 反转字符串

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:...
原创
110阅读
0评论
0点赞
发布博客于 1 年前

【最详细解析】Java GC 垃圾回收

前言Java 相比 C/C++ 最显著的特点便是引入了自动垃圾回收 (下文统一用 GC 指代自动垃圾回收),它解决了 C/C++ 最令人头疼的内存管理问题,让程序员专注于程序本身,不用关心内存回收这些恼人的问题,这也是 Java 能大行其道的重要原因之一,GC 真正让程序员的生产力得到了释放,但是程序员很难感知到它的存在,这就好比,我们吃完饭后在桌上放下餐盘即走,服务员会替你收拾好这些餐盘,你...
原创
189阅读
0评论
0点赞
发布博客于 1 年前

【吊打面试官】数据库索引原理

前言写数据库,我第一时间就想到了MySQL、Oracle、索引、存储过程、查询优化等等。不知道大家是不是跟我想得一样,我最想写的是索引,为啥呢?以下这个面试场景,不知道大家熟悉不熟悉:面试官:数据库有几千万的数据,查询又很慢我们怎么办?面试者:加索引。面试官:那索引有哪些数据类型?索引是怎么样的一种结构?哪些字段又适合索引呢?B+的优点?聚合索引和非聚合索引的区别?为什么说...
原创
268阅读
0评论
0点赞
发布博客于 1 年前

20000 字的 Spring Cloud 总结,从此任何问题也难不住你

目录什么是Spring cloudSpring Cloud 的版本Spring Cloud 的服务发现框架——Eureka负载均衡之 Ribbon什么是 RestTemplate?为什么需要 Ribbon?Nginx 和 Ribbon 的对比Ribbon 的几种负载均衡算法什么是 Open Feign必不可少的 Hystrix什么是 Hystrix之熔...
原创
266阅读
0评论
0点赞
发布博客于 1 年前

Redis——5种数据结构底层实现原理

目录一、Redis 简介Redis 的优点Redis 的安装测试本地 Redis 性能二、Redis 五种基本数据结构1)字符串 stringSDS 与 C 字符串的区别对字符串的基本操作2)列表 list链表的基本操作3)字典 hash渐进式 rehash扩缩容的条件字典的基本操作4)集合 set集合 set 的基本使用5)有序...
原创
1841阅读
0评论
1点赞
发布博客于 1 年前

Leetcode(Java)-200. 岛屿数量

给定一个由'1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例 1:输入:11110110101100000000输出:1示例2:输入:11000110000010000011输出: 3思路:深度优先搜索class Solut...
原创
210阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-5. 最长回文子串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"思路:动态规划class Solution { public String longestPalindrome(String s) {...
原创
91阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-45. 跳跃游戏 II

给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳1步,然后跳3步到达数组的最后一个位置。说明:假设你总是可以到达数组的最...
原创
59阅读
0评论
0点赞
发布博客于 1 年前

Fer2013表情识别数据集还原为jpg

把csv文件分为train、test、val三类# -*- coding: utf-8 -*-import csvimport osdatabase_path = r'/Users/zhaodongyu/Desktop/vision and image/Project'datasets_path = r'/Users/zhaodongyu/Desktop/vision and im...
原创
844阅读
3评论
1点赞
发布博客于 1 年前

Leetcode(Java)-394. 字符串解码

给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像3a或2[4...
原创
93阅读
0评论
0点赞
发布博客于 1 年前

Java归并排序

import org.junit.Test;public class MergeSort { //两路归并算法,两个排好序的子序列合并为一个子序列 public void merge(int []a,int left,int mid,int right){ int []tmp=new int[a.length];//辅助数组 int p1=lef...
原创
65阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-64. 最小路径和

给定一个包含非负整数的 mxn网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。思路:dpclass Solution { public int minPa...
原创
117阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-42. 接雨水

给定n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6思路1:一层一层处理,对于每一层,...
原创
86阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-34. 在排序数组中查找元素的第一个和最后一个位置

给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(log n) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例2:输入: nums = [5,7,7,8,8,10],...
原创
81阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-22. 括号生成

给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]class Solution { public List<String> generateParenthesi...
原创
47阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-17. 电话号码的字母组合

给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。class Solution...
原创
86阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-238. 除自身以外数组的乘积

给定长度为n的整数数组nums,其中n > 1,返回输出数组output,其中 output[i]等于nums中除nums[i]之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]说明: 请不要使用除法,且在O(n) 时间复杂度内完成此题。进阶:你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目的,输...
原创
63阅读
0评论
0点赞
发布博客于 1 年前

Vision and Image Course Project

COURSE PROJECT -CS5187 VISION AND IMAGE项目要求1. EXPECTATIONThe course project can be in group or individual. Through the project, you areexpected to show knowledge (B grade), technical capabilit...
原创
287阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-236. 二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树:root =[3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3...
原创
35阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-235. 二叉搜索树的最近公共祖先

给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树:root =[6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root =...
原创
48阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-230. 二叉搜索树中第K小的元素

给定一个二叉搜索树,编写一个函数kthSmallest来查找其中第k个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \1 4 \ 2输出: 1示例 2:输入: root = [5,3,6,2,4,null,null,1],...
原创
60阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-217. 存在重复元素

给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例3:输入: [1,1,1,3,3,4,3,2,4,2]输出: trueclass Solution { ...
原创
42阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-215. 数组中的第K个最大元素

在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。思路:排序肯定是一种方法,但是...
原创
56阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-160. 相交链表

编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 ...
原创
37阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-129. 求根到叶子节点数字之和

给定一个二叉树,它的每个结点都存放一个0-9的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明:叶子节点是指没有子节点的节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 25解释:从根到叶子节点路径 1->2 代...
原创
113阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-124. 二叉树中的最大路径和

给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例2:输入: [-10,9,20,null,null,15,7] -10/ \9 20/ ...
原创
56阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-89. 格雷编码

格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。格雷编码序列必须以 0 开头。示例 1:输入:2输出:[0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的n,其格雷编码序列并不唯一。例如,[0,2,3,1]也是一个有效的格雷编码序列。00 -...
原创
56阅读
1评论
0点赞
发布博客于 1 年前

Leetcode(Java)-61. 旋转链表

给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。示例1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4->5...
原创
46阅读
1评论
0点赞
发布博客于 1 年前

Leetcode(Java)-59. 螺旋矩阵 II

给定一个正整数n,生成一个包含 1 到n2所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[[ 1, 2, 3 ],[ 8, 9, 4 ],[ 7, 6, 5 ]]class Solution { public int[][] generateMatrix(int n) { boolean[][] visited...
原创
29阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-54. 螺旋矩阵

给定一个包含m x n个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例1:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12]]输出: ...
原创
25阅读
0评论
0点赞
发布博客于 1 年前

华为2016研发工程师编程题

[编程题]汽水瓶有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?...
原创
44阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-70. 爬楼梯

假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶...
原创
67阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-148. 排序链表

在O(nlogn) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5思路:归并排序/** * Definition for...
原创
45阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-146. LRU缓存机制

运用你所掌握的数据结构,设计和实现一个LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥不存在,则写入其数据值。当缓存容量达到上限时,它应该在写入新数据之前删除最近最少使用的...
原创
74阅读
0评论
0点赞
发布博客于 1 年前

【图文说明】Java实现快速排序

快速排序方法其实很简单:分别从初始序列“6 1 2 7 9 3 4 5 10 8”两端开始“探测”。先从右往左找一个小于6的数,再从左往右找一个大于6的数,然后交换他们。这里可以用两个变量i和j,分别指向序列最左边和最右边。我们为这两个变量起个好听的名字“哨兵i”和“哨兵j”。刚开始的时候让哨兵i指向序列的最左边(即i=1),指向数字6。让哨兵j指向序列的最右边(即=10),指向数字。...
原创
54阅读
0评论
0点赞
发布博客于 1 年前

Java实现两个线程交替打印1-100

思路1:synchronizedpublic class ThreadTest { int i =1; boolean firstDone = false; Object lock = new Object(); public static void main(String[] args) { ThreadTest t =new Thread...
原创
764阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java多线程)-1115. 交替打印FooBar

我们提供一个类:class FooBar { public void foo() {for (int i = 0; i < n; i++) {print("foo"); } } public void bar() {for (int i = 0; i < n; i++) {print("bar");}...
原创
148阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java多线程)-1114. 按序打印

我们提供了一个类:public class Foo {public void one() { print("one"); }public void two() { print("two"); }public void three() { print("three"); }}三个不同的线程将会共用一个Foo实例。线程 A 将会调用 one() 方法线程 B 将会调...
原创
89阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-25. K 个一组翻转链表

给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当k= 2 时,应当返回: 2->1->4->3->5当k= 3 时,应当返回: 3->...
原创
88阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-23. 合并K个排序链表

合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6思路:可以在写出合并两个的基础上逐个合并,但也可以使用归并的方法减少时间复杂度/** * Definiti...
原创
65阅读
0评论
1点赞
发布博客于 1 年前

Leetcode(Java)-21. 合并两个有序链表

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4/** * Definition for singly-linked list. * public class ListNode { * i...
原创
31阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-16. 最接近的三数之和

给定一个包括n 个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).思路:class Soluti...
原创
49阅读
0评论
0点赞
发布博客于 1 年前

LeetCode(Java)-14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母a-z。class Solution { pub...
原创
48阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-142. 环形链表 II

给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node inde...
原创
34阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-141. 环形链表

给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例2:输入:head = [1,2], pos = 0输...
原创
30阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-1. 两数之和

给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class...
原创
32阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-145. 二叉树的后序遍历

给定一个二叉树,返回它的 后序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [3,2,1]进阶:递归算法很简单,你可以通过迭代算法完成吗?思路1:递归/** * Definition for a binary tree node. * public class TreeNode { * ...
原创
142阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-144. 二叉树的前序遍历

给定一个二叉树,返回它的前序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,2,3]进阶:递归算法很简单,你可以通过迭代算法完成吗?思路1:递归/** * Definition for a binary tree node. * public class TreeNode { * ...
原创
255阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-94. 二叉树的中序遍历

给定一个二叉树,返回它的中序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶:递归算法很简单,你可以通过迭代算法完成吗?思路1:递归/** * Definition for a binary tree node. * public class TreeNode { * i...
原创
53阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-92. 反转链表 II

反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤m≤n≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL/** * Definition for singly-linked list. * ...
原创
97阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-91. 解码方法

一条包含字母A-Z 的消息通过以下方式进行了编码:'A' -> 1'B' -> 2...'Z' -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。示例 1:输入: "12"输出: 2解释:它可以解码为 "AB"(1 2)或者 "L"(12)。示例2:输入: "226"输出: 3解释:它可以解码为 "BZ" (2 26), "...
原创
73阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-86. 分隔链表

给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5/** * Definition for singl...
原创
40阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-80. 删除排序数组中的重复项 II

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定 nums = [1,1,1,2,2,3],函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3 。你不需要考虑数组中超出新长度...
原创
28阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-79. 单词搜索

给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E']]给定 word = "ABCCED...
原创
45阅读
0评论
0点赞
发布博客于 1 年前

【个人总结】Java面试复习大纲

目录1、知识点部分1.1 java基础知识ListMapSet零散的知识点1.2 多线程1.3 spring1.4 数据库1.5 计算机网络1.7JVM1.8 手撕代码1、知识点部分知识点主要分为:java基础知识、多线程、spring、数据库、计算机网络、JVM和手撕代码7大部分。1.1 java基础知识String、S...
原创
164阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-90. 子集 II

给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: [1,2,2]输出:[ [2], [1], [1,2,2], [2,2], [1,2], []]class Solution { List<List<Integer>> res = new Arr...
原创
51阅读
0评论
0点赞
发布博客于 1 年前

Leetcode(Java)-78. 子集

给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]思路:回溯class Solution { List<List<I...
原创
42阅读
0评论
0点赞
发布博客于 1 年前