自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kangbin825的专栏

天道酬勤 越努力 越幸运

  • 博客(50)
  • 资源 (33)
  • 收藏
  • 关注

原创 【leetcode】Fizz Buzz

写一个程序,输出从 1 到n数字的字符串表示。1. 如果n是3的倍数,输出“Fizz”;2. 如果n是5的倍数,输出“Buzz”;3.如果n同时是3和5的倍数,输出 “FizzBuzz”。示例:n = 15,返回:[ "1", "2", "Fizz", "4", "Buzz", "Fizz", "7...

2020-03-31 18:24:23 1017

原创 【leetcode】最小栈

设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x)-- 将元素 x 推入栈中。 pop()-- 删除栈顶的元素。 top()-- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.pus...

2020-03-31 17:49:54 901

原创 【leetcode】Shuffle an Array 打乱一个没有重复元素的数组

打乱一个没有重复元素的数组。示例:// 以数字集合 1, 2 和 3 初始化数组。int[] nums = {1,2,3};Solution solution = new Solution(nums);// 打乱数组 [1,2,3] 并返回结果。任何 [1,2,3]的排列返回的概率应该相同。solution.shuffle();// 重设数组到它的初始状态[1,2,3]。...

2020-03-31 16:50:19 1196

原创 【leetcode】罗马数字转整数

罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1...

2020-03-29 10:13:25 1045

原创 【leetcode】3的幂

给定一个整数,写一个函数来判断它是否是 3的幂次方。示例 1:输入: 27输出: true示例 2:输入: 0输出: false示例 3:输入: 9输出: true示例 4:输入: 45输出: false进阶:你能不使用循环或者递归来完成本题吗?思路:首先分析3的幂的特点,假设一个数Num是3的幂,那么所有Num的约数都是3的...

2020-03-29 09:55:46 2051

原创 【leetcode】第一个错误的版本

你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有n个版本[1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用bool isBadVersion(version)接口来判断版本号version是否在单元测试中出...

2020-03-29 09:40:19 1052

原创 【leetcode-数组】合并两个有序数组

给你两个有序整数数组nums1和nums2,请你将nums2合并到nums1中,使num1成为一个有序数组。说明:初始化nums1和nums2的元素数量分别为m和n。 你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存nums2中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = ...

2020-03-29 09:20:39 1057

原创 【leetcode-数组】移动零

给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。思路:使用两个索引lastIndex和curIndex,curIndex从后向前遍历直到其元素为0,然后根据lastIndex与curInd...

2020-03-27 20:39:47 1928

原创 【leetcode-数组】旋转图像

给定一个n×n的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3...

2020-03-27 18:09:13 1069

原创 【leetcode-数组】有效的数独

判断一个9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字1-9在每一行只能出现一次。 数字1-9在每一列只能出现一次。 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用'.'表示。示例1:输入:[ ["5","3",".",".","...

2020-03-27 16:49:09 989

原创 【leetcode-数组】加一

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321...

2020-03-27 15:43:23 1044

原创 【leetcode-数组】 旋转数组

给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例2:输入: [-1,-100,3,...

2020-03-27 15:25:54 1081

原创 【leetcode-字符串】字符串转换整数 (atoi)

请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可...

2020-03-27 11:31:46 1647

原创 【leetcode-字符串】外观数列

「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:1. 12. 113. 214. 12115. 1112211被读作"one 1"("一个一") , 即11。11被读作"two 1s"("两个一"), 即21。21被读作"one 2", "one 1"("一个二",...

2020-03-26 22:35:03 1550

原创 【leetcode-字符串】有效的字母异位词

给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。示例1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对...

2020-03-26 13:47:48 1574

原创 【算法】喝汽水,1瓶汽水m元,n个空瓶可以换一瓶汽水,给money元,可以换多少汽水

思路:先计算下money元钱能买多少瓶汽水,也就有多少个空瓶,再让空瓶兑换汽水,空瓶数=余的空瓶数+第二次兑换的空瓶数,依次循环类推;public class Main { public int totalNum(int money, int m, int n) { if (money <= 0) { return 0;...

2020-03-26 08:30:55 2524

转载 架构师职位常见面试题

一、架构师的日常职责是什么?总体而言,架构师负责软件领域的顶层设计。 架构师需要根据公司的发展,规划企业未来若干年的架构,制定可落地的架构方案,解决技术难题,做技术选型与攻关,落地具体的架构。优秀的架构师既能做架构方案,也能写具体的架构代码。二、开发工程师和架构师有何区别?工作重点不同:架构师重点在于前期的架构规划,需要制定可落地的架构方案,结合公司的业务场景、团队的技术水平等因素做技...

2020-03-25 10:40:09 948

原创 【leetcode-字符串】验证回文字符串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: falseclass Solution { public boolean ...

2020-03-23 08:25:47 2145 1

原创 【leetcode】整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−2的31次方, 2的31次方 − 1]。请根据这个假设,如果反转后整数溢出那么就返...

2020-03-23 07:52:11 1966

原创 【leetcode-数组】两数之和

给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解法1:注...

2020-03-22 22:02:37 1916

原创 【leetcode-数组】两个数组的交集 II

给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输出结果的顺序。进阶:...

2020-03-22 20:58:51 2035

原创 JAVA过滤器和拦截器的区别

什么是拦截器 在AOP中用于在某个方法或字段被访问之前,进行拦截然后再之前货之后加入某些操作。拦截是AOP的一种实现策略。 拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者定义一个action前后执行的代码,也可以在一个action执行阻止其执行,同时也是提供了一种可以提取action可重用部分的方式。 实现原理:大部分是通过代理的方式来调用的。 自定义拦截器步骤...

2020-03-22 16:01:43 2151

原创 【leetcode-数组】买卖股票的最佳时机 II

给定一个数组,它的第i个元素是一支给定股票第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔...

2020-03-22 15:48:28 2126

原创 【leetcode-动态规划】买卖股票的最佳时机

给定一个数组,它的第i个元素是一支给定股票第i天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = ...

2020-03-22 11:15:40 2031 1

原创 【leetcode-动态规划】最大子序和

给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。思路:利用动态规划和分治的思想,每一步找出局部...

2020-03-22 10:59:34 2056

原创 【leetcode-树】 将有序数组转换为二叉搜索树

将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -1...

2020-03-22 10:30:02 1986

原创 【leetcode-树】对称二叉树

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3]是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3]则不是镜像对称的: 1 / \ 2 2 \ \ 3 3说明:如果你可以运用递归和迭代两种方法解...

2020-03-22 10:14:27 1911

原创 【leetcode-链表】环形链表

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

2020-03-22 09:59:57 2033

原创 【leetcode-链表】 回文链表

请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用O(n) 时间复杂度和 O(1) 空间复杂度解决此题?思路:利用快慢指针找到中间节点,当快指针走到末尾时,慢指针指向中间节点;交中间节点之后的节点进行链表反转;设定指针p1从head开始...

2020-03-22 09:47:12 2392

原创 线程池线程数与(CPU密集型任务和I/O密集型任务)的关系

1.任务类型举例: 1.1: CPU密集型: CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存),I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高。 1.2: I/O密集型:...

2020-03-21 18:31:58 3951

转载 SpringBoot启动流程总结

一直很好奇SpringBoot这么一个大怪物,启动的时候做了哪些事情,然后看了很多老师讲的教学视频,然后自己想好好整理一下,做下学习笔记下次也方便自己阅读1、首先从main方法开始看public static void main(String[] args) { //代码很简单SpringApplication.run(); SpringApplication.run(Cons...

2020-03-21 17:54:20 611

转载 Java中的锁分类

在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下:公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释。公平锁/非公平锁公平锁是指...

2020-03-21 16:21:58 197

转载 公平锁和非公平锁的区别?

前言上次我们提到了乐观锁和悲观锁,那我们知道锁的类型还有很多种,我们今天简单聊一下,公平锁和非公平锁两口子,以及他们在我们代码中的实践。正文开始聊之前,我先大概说一下他们两者的定义,帮大家回顾或者认识一下。公平锁:多个线程按照申请锁的顺序去获得锁,线程会直接进入队列去排队,永远都是队列的第一位才能得到锁。优点:所有的线程都能得到资源,不会饿死在队列中。 缺点:吞吐量会下降很多...

2020-03-21 16:01:16 523 1

原创 【leetcode-字符串】字符串中的第一个唯一字符

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。案例:s = "leetcode"返回 0.s = "loveleetcode",返回 2.注意事项:您可以假定该字符串只包含小写字母。解法1:两次遍历,第一次遍历先把字符和出现的次数存入map里,第二次遍历取出map中次数为1的第一个字符;class Solu...

2020-03-18 08:38:11 2513

原创 【leetcode-数组】存在重复

给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 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]输出: true思路:先反序,再比较相邻元素是否相...

2020-03-17 17:35:45 2464

原创 【leetcode-字符串】 反转字符串

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

2020-03-17 13:14:20 2515

原创 【leetcode-数组】只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4思路:异或法,根据异或运算的特点,相同的数字经过异或运算后结果为0,除单独出现一次的数字外,其...

2020-03-17 08:04:15 2387

原创 【leetcode-链表】两数相加

给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -...

2020-03-16 23:14:13 2448

转载 深入理解 MySQL 索引底层原理

作者:junshili一步一步推导出 Mysql 索引的底层数据结构。Mysql 作为互联网中非常热门的数据库,其底层的存储引擎和数据检索引擎的设计非常重要,尤其是 Mysql 数据的存储形式以及索引的设计,决定了 Mysql 整体的数据检索性能。我们知道,索引的作用是做数据的快速检索,而快速检索的实现的本质是数据结构。通过不同数据结构的选择,实现各种数据快速检索。在数据库中,高效...

2020-03-16 21:24:29 338

转载 【并发编程】深入理解 Java 内存模型,这篇文章就够了

作者:_fan凡 https://www.jianshu.com/p/15106e9c4bf3原文地址:https://mp.weixin.qq.com/s/LKZryIKK-si_2adKTSOfoQJava内存模型(Java Memory Model,JMM)是java虚拟机规范定义的,用来屏蔽掉java程序在各种不同的硬件和操作系统对内存的访问的差异,这样就可以实现ja...

2020-03-16 08:08:38 207

chrome常用插件.rar

chrome常用插件 包括 postman插件、AXure插件、json handler插件、dark reader插件、油猴插件等

2019-11-29

ADB 操作命令详解及用法大全.pdf

ADB 操作命令详解及用法大全.pdf android debug bridge学习资料, 给需要app模拟用的同学一起学习

2019-11-29

idea插件:ScrollFromSource

idea插件:ScrollFromSource, 能在工程里快速通过快捷键定位到当前打开的类处

2017-07-01

从PAXOS到ZOOKEEPER分布式一致性原理与实践.rar

从PAXOS到ZOOKEEPER分布式一致性原理与实践.rar, 分布式事务

2017-05-19

Redis设计与实现

redis设计与实现,缓存

2017-05-18

阿里巴巴java开发手册

阿里巴巴java开发手册

2017-04-03

findbugs eclipse插件

findbugs eclipse插件,让程序员更好的集中code

2017-03-04

大型网站技术架构:核心原理与案例分析+李智慧.pdf

本书分析的网站架构的原理,由浅入深,易懂

2017-02-26

Java 并发编程实战(英文版)

Java 并发编程实战(英文版)推荐给java并发学习的朋友。建议阅读英文版,一是英文版描述的比较原汁原味,二是还可以练练英语,实在英文版有理解困难的可以结合中文版一起看。

2017-01-07

Java RESTful Web Service实战 高清完整.pdf版下载

Java RESTful Web Service实战 [韩陆著][机械工业出版社][2014.09][298页], 想学习java webService restful的朋友可以看一下。

2017-01-01

HADOOP实战第二版中文清晰版

HADOOP实战第二版中文清晰版, 想学习大数据的朋友可以看一下。

2017-01-01

Java RESTful Web Service实战 [韩陆著]

2016-12-31

大型网站技术架构:核心原理与案例分析+李智慧

2016-12-31

Spring 3.x 企业应用开发实战】完整高清扫描版).pdf

2016-07-27

《锋利的jQuery》(高清扫描版-有书签).pdf

jquery学习非常不错的一本书,欢迎朋友们一起学习!

2015-06-28

红旗Linux用户基础教程.pdf

本书详细介绍了红旗Linux各种功能的使用,对Linux入门的读者非常实用。

2015-06-28

高质量C C++编程指南.pdf

为从事C/C++编程的人员提供更好的编程建议。

2015-06-28

UNIX环境高级编程 第二版.pdf

在Unix进行程序设计的有关人员必读且经常需要查阅的首选参考书。

2015-06-27

链接器和加载器中文版.pdf

链接器和加载器是软件开发工具包中的一部分,它们是允许使用模块来构建程序的关键工具。

2015-06-27

[计算机网络第五版]计算机网络第五版.pdf

本书概念准确、论述严谨、内容新颖,突出基本原理和基本概念的阐述,对计算机网络感兴趣的读者很有帮助。

2015-06-27

C程序设计.第二版.谭浩强.pdf

谭浩强老师编写的C程序设计,非常适合初学者去学习。希望能和大家一起来学习交流!

2015-06-27

[数据结构(C语言版)].严蔚敏_吴伟民.扫描版.pdf

严蔚敏老师的数据结构,适合于C语言的算法学习。

2015-06-27

Asp.Net+MVC4入门指南.pdf

每章从一个个示例开始讲解,非常详细,也很清楚明白,适合ASP.NET MVC4入门的同学一起学习。

2015-06-27

海伦公式:用三角形周长求面积

海伦公式:用三角形周长求面积,算法设计时可用,较简单

2013-04-17

空空如也

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

TA关注的人

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