自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode402. 移掉K位数字

给定一个以字符串表示的非负整数num,移除这个数中的 k 位数字,使得剩下的数字最小。注意:num 的长度小于 10002 且≥ k。num 不会包含任何前导零。示例 1 :输入: num = "1432219", k = 3输出: "1219"解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。示例 2 :输入: num = "10200", k = 1输出: "200"解释: 移掉首位的 1 剩下的数字为 200. 注意输出不能有任何前导零。..

2020-09-11 13:10:01 130

原创 LeetCodeLCP 14. 切分数组

给定一个整数数组 nums ,小李想将 nums 切割成若干个非空子数组,使得每个子数组最左边的数和最右边的数的最大公约数大于 1 。为了减少他的工作量,请求出最少可以切成多少个子数组。示例 1:输入:nums = [2,3,3,2,3,3]输出:2解释:最优切割为 [2,3,3,2] 和 [3,3] 。第一个子数组头尾数字的最大公约数为 2 ,第二个子数组头尾数字的最大公约数为 3 。示例 2:输入:nums = [2,3,5,7]输出:4解释:只有一种可行的切割:[2],

2020-08-11 01:00:07 498

原创 LeetCode696. 计数二进制子串

给定一个字符串s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。重复出现的子串要计算它们出现的次数。示例 1 :输入: "00110011"输出: 6解释: 有6个子串具有相同数量的连续1和0:“0011”,“01”,“1100”,“10”,“0011” 和 “01”。请注意,一些重复出现的子串要计算它们出现的次数。另外,“00110011”不是有效的子串,因为所有的0(和1)没有组合在一起。示例 2 :输入: "10.

2020-08-10 19:25:50 162

原创 leetcode1544. 整理字符串

给你一个由大小写英文字母组成的字符串 s 。一个整理好的字符串中,两个相邻字符 s[i] 和 s[i + 1] 不会同时满足下述条件:0 <= i <= s.length - 2s[i] 是小写字符,但 s[i + 1] 是相同的大写字符;反之亦然 。请你将字符串整理好,每次你都可以从字符串中选出满足上述条件的 两个相邻 字符并删除,直到字符串整理好为止。请返回整理好的 字符串 。题目保证在给出的约束条件下,测试样例对应的答案是唯一的。注意:空字符串也属于整理好的字符串,尽管

2020-08-10 18:39:48 400 1

原创 网络基础自用,来自网络

1)IOS七层模型-TCP/IP四层 OSI七层网络模型 TCP/IP四层概念模型 对应网络协议 应用层(Application) 应用层 HTTP、TFTP,FTP, NFS, WAIS、SMTP 表示层(Presentation) Telnet, Rlogin, SNMP, Gopher 会话层(Session) ..

2020-08-04 01:43:40 390

原创 mysql基础知识

文章大部分取至网络进行二次总结1)innodb和MYISAM的区别1.innodb支持事务myisam不支持2.innodb支持外键3.myisam只有表锁,而innodb有表锁、页锁、行级锁(默认行级)4.innodb支持mvcc2)ACID1.原子性:整个事务要么都成功要么都失败。InnoDB通过undolog保证rollback的时候能找到之前的数据(也就是前面提到的mvcc)2.一致性:任何时候数据库的数据都是一致的,事务的提交会从一个一致性状态转换到另一个一致性,也

2020-08-03 23:01:29 198

原创 spring基础

1)IOCSpring IOC 解决的是对象管理和对象依赖的问题。「控制反转」指的就是:本来是「由我们自己」new出来的对象,现在交给了IOC容器。把这个对象的「控制权」给「他方」了。「控制反转」更多的是一种思想或者说是设计模式,把原有由自己掌控的事交给「别人如spring容器」来处理。「依赖注入」更多指的是「控制反转」这个思想的实现方式:对象无需自行创建或管理它们的依赖关系,依赖关系将被「自动注入」到需要它们的对象当中去。更容易理解的说springIOC就是通过对xml或者注解的配置(当.

2020-08-03 23:01:05 175

原创 Redis基础知识

1)redis是什么Redis 就是一个使用 C 语言开发的数据库,不过与传统数据库不同的是Redis 的数据是存在内存中的,也就是它是内存数据库,所以读写速度非常快,并且使用的储存方式是key-value形式,因此 Redis 被广泛应用于缓存方向。另外,Redis 除了做缓存之外,Redis 也经常用来做分布式锁,甚至是消息队列。Redis 提供了多种数据类型来支持不同的业务场景。Redis 还支持事务 、持久化、Lua 脚本、多种集群方案。2)Redis 常见数据结构1....

2020-08-03 23:00:45 360

原创 项目概述自用

1.开发首页无需权限:分页查询、10条记录2.开发注册功能无需权限:工具开发启动客户端的SMTP服务,设置邮箱参数配置:使用javaMailSend发送邮件业务开发先判短输入参数是否合法,再判断名称和邮箱是否已经注册,通过则把数据(密码加盐)随机产生牛客网头像,激活状态为未激活,并生成随机激活验证码,插入用户表得到用户id使用Thymeleaf发送HTML邮件:发送的是用户id,激活验证码TemplateEngine.process("/mail/activation", cont

2020-08-03 22:53:23 1217

原创 java基础4

1)ArrayList和Vector的区别共同点: 这两个类都实现了List接口,它们都是有序的集合(存储有序),底层是数组。我们可以按位置索引号取出某个元素,允许元素重复和为null。 区别: 同步性: ArrayList是非同步的 Vector是同步的 即便需要同步的时候,我们可以使用Collections工具类来构建出同步的ArrayList而不用Vector 扩容大小: Vector增长原来的一倍,ArrayLi

2020-08-03 01:14:34 186

原创 java基础3

文章很多重复的,但是方便多次记忆^-^内容大多来自网络,会带有链接1)同步与异步同步,就是调用某个东西是,调用方得等待这个调用返回结果才能继续往后执行。同步需要按部就班地走完一整个流程,完成一整个动作,或者说两个同步任务相互依赖,并且一个任务必须以依赖于另一任务的某种方式执行。异步,两个异步的任务完全独立的,一方的执行不需要等待另外一方的执行。再换句话说,异步调用种一调用就返回结果不需要等待结果返回,当结果返回的时候通过回调函数或者其他方式拿着结果再做相关事情。2)阻塞和非阻塞阻塞:阻.

2020-08-02 02:01:16 223

原创 java基础2

1)枚举以枚举定义的常量使代码更具可读性,允许进行编译时检查,预先记录可接受值的列表,并避免由于传入无效值而引起的意外行为。在编译时自动继承enum接口,并且枚举变量都被隐式的声明为static final在反编译中可以看出。枚举也有.class文件也是个类。而且在编译期间自动加入了很多static方法:编译器为我们添加的静态的values()方法:获得所有枚举类型编译器为我们添加的静态的valueOf()方法,注意间接调用了Enum也类的valueOf(String s)方法:返回字符

2020-08-01 22:49:39 275

转载 数据分布之一致性哈希

转载自:https://www.cnblogs.com/qcblog/p/8886360.html数据分布之一致性哈希一、数据分布在分布式环境下,数据分布也即是将数据拆分,存放到不同节点上,是分布式系统中的基本问题之一。不同的数据分布方式需要权衡诸如伸缩性、数据倾斜(负载的均衡)、元数据维护等问题。没有一种万能的方案能够解决所有的问题,不能脱离应用场景谈优劣,应该要针对不同的应用场景选择合适的方案。一般而言,可以有以下几种数据分布的方式:1)哈希分区(或者叫余数法)基本思想是根据数.

2020-07-31 00:47:50 400

原创 kafka windows中启动

首先配置config目录下的文件zookeeper.properties的dataDir路径任意server.properties的log.dirs路径任意安装文件目录下cmdbin\windows\zookeeper-server-start.bat config\zookeeper.properties安装目录下bin\windows\kafka-server-start.bat config\server.properties进入安装目录bin\windows目录下创建

2020-07-21 12:52:50 300

原创 java多线程和锁,自用,长文

1)并行并发1.并行指多个事件在同一个时刻发生(多cpu);并发指在某时刻只有一个事件在发生,某个时间段内由于 CPU 交替执行,可以发生多个事件。2.并行没有对 CPU 资源的抢占;并发执行的线程需要对CPU 资源进行抢占。3.并行执行的线程之间不存在切换;并发操作系统会根据任务调度系统给线程分配线程的 CPU 执行时间,线程的执行会进行切换。Java 中多线程运行的程序可能是并发也可能是并行,取决于操作系统对线程的调度和计算机硬件资源2)进程与线程1.进程进程是操作系统的资.

2020-07-09 16:44:14 309 1

原创 JVM基础自用

1)内存区域程序计数器:可以看作是当前线程所执行的字节码文件(class)的行号指示器,它会记录执行痕迹,是每个线程私有的 方法区:主要存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据,该区域是被线程共享的,很少发生垃圾回收 栈:栈是运行时创建的,是线程私有的,生命周期与线程相同,存储声明的变量 本地方法栈:为 native 方法服务,native 方法是一种由非 java 语言实现的 java 方法,与 java 环境外交互,如可以用本地方法与操作系统交互 堆:堆是所

2020-07-07 03:47:29 408 1

原创 java集合

1)常用的集合Map接口和collection接口是所有集合框架的父接口。List以及Set接口继承于collection接口。Map接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及Properties等 Set接口的实现类主要有:HashSet、TreeSet、LinkedHashSet等 List接口的实现类主要有:ArrayList、LinkedList、Stack以及Vector等2)Array和ArrayList的区别

2020-07-04 00:57:00 201 1

原创 java基础IO

1)Java中有几种类型的流1、基于字节操作的I/O接口:InputStream和OutputStream2、基于字符操作的I/O接口:Writer和Reader3、基于磁盘操作的I/O接口:File4、基于网络操作的I/O接口:Socket(不在java.io包下)分类1、按流的方向:输入流,输出流2、按流的功能:节点流,处理流3、按处理单位:字节流,字符流2)四个基本抽象流,顶级接口inputStream:字节输入流outputStream:字节输出流.

2020-07-03 02:20:35 155

原创 java基础1

1)重写equals方法的时候为什么需要重写hashcode?Java的object中equals的实现:public boolean equals(Object obj) { return (this == obj); }可以看到是用来比较两个对象的内存地址是否相等。hashCode方法是本地方法,用于计算出对象的一个散列值,用于判断在集合中对象是否重复的关键。在源码注解中大致讲述看:当我们将equals方法重写后有必要将hashCode方法也重写,这样.

2020-07-02 12:44:09 332 1

原创 力扣动态规划 546. 移除盒子

给出一些不同颜色的盒子,盒子的颜色由数字表示,即不同的数字表示不同的颜色。你将经过若干轮操作去去掉盒子,直到所有的盒子都去掉为止。每一轮你可以移除具有相同颜色的连续 k 个盒子(k>= 1),这样一轮之后你将得到 k*k 个积分。当你将所有盒子都去掉之后,求你能获得的最大积分和。示例 1:输入:[1, 3, 2, 2, 2, 3, 4, 3, 1]输出:23解释:[1, 3, 2, 2, 2, 3, 4, 3, 1]----> [1, 3, 3, 4, 3, 1]..

2020-05-31 16:05:14 378

原创 力扣贪心 1383. 最大的团队表现值

公司有编号为 1到 n的 n个工程师,给你两个数组 speed和 efficiency,其中 speed[i]和 efficiency[i]分别代表第 i位工程师的速度和效率。请你返回由最多k个工程师组成的​​​​​​最大团队表现值,由于答案可能很大,请你返回结果对 10^9 + 7 取余后的结果。团队表现值的定义为:一个团队中「所有工程师速度的和」乘以他们「效率值中的最小值」。示例 1:输入:n = 6, speed = [2,10,3,1,5,8], effi...

2020-05-29 16:47:46 264

原创 BitMap算法

转载自——https://www.cnblogs.com/dwlovelife/p/10935849.html所谓的BitMap就是用一个bit位来标记某个元素所对应的value,而key即是该元素,由于BitMap使用了bit位来存储数据,因此可以大大节省存储空间。1. 基本思想首先用一个简单的例子来详细介绍BitMap算法的原理。假设我们要对0-7内的5个元素(4,7,2,5,3)进行排序(这里假设元素没有重复)。我们可以使用BitMap算法达到排序目的。要表示8个数,我们需要8个byt.

2020-05-29 15:49:28 205

原创 力扣贪心 630. 课程表 III

这里有 n 门不同的在线课程,他们按从 1 到 n编号。每一门课程有一定的持续上课时间(课程时间)t 以及关闭时间第 d天。一门课要持续学习 t 天直到第 d 天时要完成,你将会从第 1 天开始。给出 n 个在线课程用 (t, d) 对表示。你的任务是找出最多可以修几门课。示例:输入: [[100, 200], [200, 1300], [1000, 1250], [2000, 3200]]输出: 3解释:这里一共有 4 门课程, 但是你最多可以修 3 门:首先, 修第一门课...

2020-05-29 14:42:10 332

原创 力扣动态规划 1458. 两个子序列的最大点积

给你两个数组nums1和nums2。请你返回 nums1 和 nums2 中两个长度相同的 非空 子序列的最大点积。数组的非空子序列是通过删除原数组中某些元素(可能一个也不删除)后剩余数字组成的序列,但不能改变数字间相对顺序。比方说,[2,3,5]是[1,2,3,4,5]的一个子序列而[1,5,3]不是。示例 1:输入:nums1 = [2,1,-2,5], nums2 = [3,0,-6]输出:18解释:从 nums1 中得到子序列 [2,-2] ,从 nums...

2020-05-29 14:21:37 263

原创 力扣贪心 45. 跳跃游戏 II

给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳1步,然后跳3步到达数组的最后一个位置。说明:假设你总是可以到达数组的最后一个位置。来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl...

2020-05-27 18:36:50 153

原创 力扣贪心 1007. 行相等的最少多米诺旋转

在一排多米诺骨牌中,A[i] 和 B[i]分别代表第 i 个多米诺骨牌的上半部分和下半部分。(一个多米诺是两个从 1 到 6 的数字同列平铺形成的—— 该平铺的每一半上都有一个数字。)我们可以旋转第i张多米诺,使得A[i] 和B[i]的值交换。返回能使 A 中所有值或者 B 中所有值都相同的最小旋转次数。如果无法做到,返回-1.示例 1:输入:A = [2,1,2,4,2,2], B = [5,2,6,2,3,2]输出:2解释:图一表示:在我们旋转之前, ...

2020-05-27 18:04:21 113

原创 力扣贪心 1326. 灌溉花园的最少水龙头数目

在 x 轴上有一个一维的花园。花园长度为n,从点0开始,到点n结束。花园里总共有n + 1 个水龙头,分别位于[0, 1, ..., n] 。给你一个整数n和一个长度为n + 1 的整数数组ranges,其中ranges[i] (下标从 0 开始)表示:如果打开点i处的水龙头,可以灌溉的区域为[i -ranges[i], i + ranges[i]]。请你返回可以灌溉整个花园的最少水龙头数目。如果花园始终存在无法灌溉到的地方,请你返回-1。示...

2020-05-27 17:03:22 348

原创 牛客练习赛64 C

题目描述给出一个长度为n的数组a1​,a2​,...,an​,计算∑l=1n​∑r=ln​∑i=lr​∑j=ir(​ai​∗aj​ )mod 1e9+7并输出。输入描述:第一行一个整数n。第二行n个整数a1​,a2​,...,an​。输出描述:输出一行一个整数表示答案。示例1输入46 7 8 9输出1988示例2输入54 7 66 22 8输出59480备注:1<=n<=200000,1<=ai​&l.

2020-05-25 15:39:00 153

原创 牛客练习赛64 B

链接:https://ac.nowcoder.com/acm/contest/5633/B来源:牛客网题目描述给出一颗n个点n−1条边的树,点的编号为1,2,...,n−1,n,对于每个点i(1<=i<=n),输出与点i{i}i距离为2的点的个数。两个点的距离定义为两个点最短路径上的边的条数。输入描述:第一行一个正整数n。接下来n−1行每行两个正整数ui,vi​表示点ui,vi​之间有一条边。输出描述:输入共n行,第i行输出一个整数表示与点i距离为2的点的.

2020-05-25 15:14:21 181

原创 牛客练习赛64 A

链接:https://ac.nowcoder.com/acm/contest/5633/A来源:牛客网题目描述一个长度为n+m+k包含n个数字1,m个数字2和k个数字4的数组,最多可能有多少个子序列1412?如果一个序列是数组的子序列,当且仅当这个序列可以由数组删去任意个元素,再将数组中的剩余元素按顺序排列而成。输入描述:第一行一个整数t,表示测试用例的组数。接下来t行每行三个整数n,m,k表示一组测试用例。输出描述:对于每组测试用例输出一行一个整数表示答案。示例1

2020-05-25 14:45:58 207

原创 P3275 [SCOI2011]糖果

题目描述幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果的时候,lxhgww需要满足小朋友们的K个要求。幼儿园的糖果总是有限的,lxhgww想知道他至少需要准备多少个糖果,才能使得每个小朋友都能够分到糖果,并且满足小朋友们所有的要求。输入输出格式...

2018-12-10 22:02:51 147 1

原创 P1250 种树

题目描述一条街的一边有几座房子。因为环保原因居民想要在路边种些树。路边的地区被分割成块,并被编号成1..N。每个部分为一个单位尺寸大小并最多可种一棵树。每个居民想在门前种些树并指定了三个号码B,E,T。这三个数表示该居民想在B和E之间最少种T棵树。当然,B≤E,居民必须记住在指定区不能种多于区域地块数的树,所以T≤E-B+l。居民们想种树的各自区域可以交叉。你的任务是求出能满足所有要求的最少的...

2018-12-10 21:58:16 265

原创 How Many Trees? HDU 1130

How Many Trees? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4501    Accepted Submission(s): 2513   Problem Description ...

2018-12-03 16:29:09 217

原创 HDU 1114 完全背包

Piggy-Bank Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 36261    Accepted Submission(s): 17994   Problem Description Bef...

2018-11-29 23:48:42 135

原创 2018 acm_icpc 青岛 C题

Flippy SequenceTime Limit: 1 Second      Memory Limit: 65536 KBDreamGrid has just found two binary sequences  and  ( for all ) from his virtual machine! He would like to perform the operation desc...

2018-11-05 16:50:43 412

原创 B. Before an Exam(f 4B)

time limit per test0.5 secondmemory limit per test64 megabytesinputstandard inputoutputstandard outputTomorrow Peter has a Biology exam. He does not like this subject much, but d days ...

2018-10-24 22:41:15 422

转载 CodeForces B. The least round way(dp)

转自:https://blog.csdn.net/u012860063/article/details/40517115题目链接:http://codeforces.com/problemset/problem/2/BB. The least round waytime limit per test 5 secondsmemory limit per test 64 megabytes...

2018-10-23 20:57:18 119

原创 ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 D题

时间限制:1000ms单点时限:1000ms内存限制:256MB描述80 Days is an interesting game based on Jules Verne's science fiction "Around the World in Eighty Days". In this game, you have to manage the limited money an...

2018-09-23 16:04:17 198

原创 洛谷P2184

题目背景面对蚂蚁们的疯狂进攻,小FF的Tower defence宣告失败……人类被蚂蚁们逼到了Greed Island上的一个海湾。现在,小FF的后方是一望无际的大海, 前方是变异了的超级蚂蚁。 小FF还有大好前程,他可不想命丧于此, 于是他派遣手下最后一批改造SCV布置地雷以阻挡蚂蚁们的进攻。题目描述小FF最后一道防线是一条长度为N的战壕, 小FF拥有无数多种地雷,而SCV每次可以在...

2018-09-21 21:17:47 151

原创 线段树模板

#include &lt;bits/stdc++.h&gt;using namespace std;#define mmax 100010struct haha{ int x;}we[mmax&lt;&lt;2];int sum[mmax&lt;&lt;2],add[mmax&lt;&lt;2];//求和,懒惰标记 int a[mmax];//PushUp//求和更新 voi...

2018-09-14 22:50:51 104

空空如也

空空如也

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

TA关注的人

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