自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 1236A. Sweet Problem

一、ProblemYou have three piles of candies: red, green and blue candies:the first pile contains only red candies and there are r candies in it,the second pile contains only green candies and there a...

2019-11-30 23:56:06 88

原创 1B. Spreadsheets

一、题目In the popular spreadsheets systems (for example, in Excel) the following numeration of columns is used. The first column has number A, the second — number B, etc. till column 26 that is marked b...

2019-11-30 15:15:59 62

原创 1A. Theatre Square

一、题目Theatre Square in the capital city of Berland has a rectangular shape with the size n × m meters. On the occasion of the city’s anniversary, a decision was taken to pave the Square with square gr...

2019-11-30 13:32:11 58

原创 LeetCode17-电话号码的字母组合

一、题目给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。二、示例输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].三、思路1、常用解法有回朔、暴力破解、dfs(深度优先)、bfs(广度优先)2、我这里使用队列...

2019-11-29 00:25:29 59

原创 LeetCode16-最接近的三数之和

一、题目给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。二、示例例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).三、思路标签:排序...

2019-11-29 00:16:13 54

原创 LeetCode15-三数之和

一、题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。二、示例例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]三、思路标...

2019-11-25 23:26:24 72

原创 LeetCode14-最长公共前缀

一、题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。二、示例示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。三、代码package com.leetcode.code;public...

2019-11-24 19:28:19 56

原创 LeetCode13-罗马数字转整数

一、题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000二、示例示例 1:输入: “III”输出...

2019-11-24 00:21:31 41

原创 LeetCode12-整数转罗马数字

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

2019-11-23 20:11:42 46

原创 LeetCode11-盛最多水的容器

一、题目给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。二、示例输入: [1,8,6,2,5,4,8,3,7]输出: 49三、代码pack...

2019-11-23 19:29:00 58

原创 【十大排序算法】(十一)总结

1、十大排序算法的思维导图2、十大排序算法的复杂度3、十大排序算法总结【十大排序算法】(一)冒泡排序算法【十大排序算法】(一)冒泡排序算法(优化)【十大排序算法】(三)选择排序算法【十大排序算法】(四)堆排序算法【十大排序算法】(五)插入排序算法【十大排序算法】(六)希尔排序算法【十大排序算法】(七)归并排序算法【十大排序算法】(八)计数排序算法【十大排序算法】(九)桶排序...

2019-11-22 17:51:36 156

原创 【十大排序算法】(十)基数排序算法

一、基本思想相比其它排序,主要是利用比较和交换,而基数排序则是利用分配和收集两种基本操作。基数排序是一种按记录关键字的各位值逐步进行排序的方法。此种排序一般适用于记录的关键字为整数类型的情况。所有对于字符串和文字排序不适合。实现:将所有待比较数值(自然数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个...

2019-11-22 17:36:00 144

原创 【十大排序算法】(九)桶排序算法

一、基本思想桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。桶排序 (Bucket Sort)的工作的原理:假设输入数据服从均匀分布,将数据分到有限数量的桶里,每个桶再分别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排)。二、算法分析1、算法描述设置一个定量的数组当作空桶;遍历输入数据,并且把数据一个一个放到对应的桶里去;对...

2019-11-22 01:19:41 402

原创 【十大排序算法】(八)计数排序算法

一、基本思想计数排序不是基于比较的排序算法,其核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。 作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。二、算法分析1、算法描述找出待排序的数组中最大和最小的元素;统计数组中每个值为i的元素出现的次数,存入数组C的第i项;对所有的计数累加(从C中的第一个元素开始,每一项和前一项相加);反向填充目标数组:将...

2019-11-21 22:32:03 118

原创 【十大排序算法】(七)归并排序算法

一、基本思想归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。二、算法分析1、算法描述把长度为n的输入序列分成两个长度为n/2的子序列;对这两个子序列分别采用归并排序;将两个排...

2019-11-21 12:58:16 366

原创 【十大排序算法】(六)希尔排序算法

一、基本思想希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。二、算法分析先取一个正整数 d...

2019-11-20 23:02:16 100 5

原创 【十大排序算法】(五)插入排序算法

一、基本思想选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。二、算法分析1、算法描述n个记录的直接选择排序可经过n-1趟直接选择排序得到有序结果。具体算法描述如下:初始状态:无序区为...

2019-11-20 00:12:17 133

原创 【十大排序算法】(四)堆排序算法

一、基本思想先开始堆排序算法之前我们先来了解下什么是堆?堆分为两种:大顶堆和小顶堆,两者的差别主要在于排序方式。堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图:大顶堆的存储结构为:{19,16,15,9,8,1}小顶堆的存储结构为:{1,8,9,15,16,19}我举的是两个有序...

2019-11-18 19:36:53 114 3

原创 【十大排序算法】(三)选择排序算法

一、基本思想选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。二、算法分析1、算法描述n个记录的直接选择排序可经过n-1趟直接选择排序得到有序结果。具体算法描述如下:初始状态:无序区为...

2019-11-18 00:28:10 154

原创 【十大排序算法】(二)快速排序算法

一、基本思想通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。二、算法分析1、算法描述快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。具体算法描述如下:从数列中挑出一个元素,称为 “基准”(pivot);重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比...

2019-11-17 15:00:52 393 2

原创 【十大排序算法】(一)冒泡排序算法(优化)

一、优化第一版优化第一版是针对类似 int[] arr = {3,2,1,4,5,6,7,8,9; 这样的有很多已经排好序的数组,为了不让它做无用的循环,对于此场景进行的优化,优化代码如下:// 优化第一版public static void bubbleSort2(int[] arr, int len) { for (int i = 0; i < len; i++) { ...

2019-11-16 21:30:24 198 7

原创 【十大排序算法】(一)冒泡排序算法

一、基本思想在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。二、算法分析首先我们给定一个数组 int[] arr = {1,28,3,21,11,7,6,18};下面我们来直观的描述下冒泡排序算法的过程:1、检查是否 1 > 28;...

2019-11-16 17:11:12 342

原创 LeetCode10-正则表达式匹配

一、题目给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。二、示例示例 1:输入:...

2019-11-11 20:23:41 67

原创 LeetCode9-回文数

一、题目判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。二、示例示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是...

2019-11-10 23:29:13 62

原创 LeetCode8-字符串转换整数 (atoi)

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

2019-11-10 21:57:40 46

原创 Spring Cloud 学习系列:(十三)高可用的分布式配置中心——Spring Cloud Config

一、前言上一篇文章讲了一个服务如何去配置中心读取文件,配置中心如何去远端 git 读取配置文件,构建了是单节点的 Config Server。当服务实例很多时,都从配置中心读取文件,这时可以考虑配置中心集群,从而达到高可用。Spring Cloud Config 高可用的架构图如下:二、准备工作1、将上一篇的代码复制一份修改一下,创建一个 microservice-eureka-serv...

2019-11-05 22:53:58 67

原创 Spring Cloud 学习系列:(十二)分布式配置中心——Spring Cloud Config

一、前言对于我们传统的单体应用,常使用配置文件管理所有配置。例如,一个 Spring Boot 开发的单体应用。可将配置内容放在 application.yml 文件中。如果需要切换环境,可设置多个 Profile,并在启动应用时指定 spring.profiles.active={profile}。然而,在微服务架构中,微服务的配置管理一般有以下需求:集中管理配置。一个微服务架构的应用系...

2019-11-05 00:26:13 94

原创 git删除远端的文件

有时候,自己已经在本地删除了不想要的文件,但远端库里还有该文件,这时候我们来做一下下面的操作。<!-- 强制删除缓存,如果不行就用rm -rf,这个路径是本地路径 -->git rm --cached --force "文件路径"<!-- 提交到本地库 -->git commit -m "delete cached"<!-- 推到远端删除缓存 --&gt...

2019-11-03 20:31:33 211

原创 SpringBoot项目中怎么保证提供的接口不会被调崩

一、背景像我们做项目写接口的时候,一定要考虑接口的并发性,要是写的接口提供第三方系统来调用,更需要保证自己提供的接口不会被调崩。有的并发性高的系统,在同一时刻或者同一小时间段,会有大量流量涌入,这时候你的接口不做相应的处理直接被调,很容易发生超时然后导致接口崩溃。我们可以用线程池来解决这一痛点。二、案例演示1、写一个接口 controller 类package com.riemann.sp...

2019-11-01 01:15:28 428

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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