自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (2)
  • 收藏
  • 关注

原创 阶乘之和(循环+递归实现)Java

阶乘之和给定目标值N,则N的阶乘之和是:1!+2!+3!+…N!其中1!= 11,2!= 12,3!=123……例如给定一个数字3.那么3的阶乘之和就应该是:11 + 12 + 123=9思路解析:(1)肯定有一个for循环,i++(2)肯定有一个求和的sum。每次计算出i的阶乘后加总求和(3)由于阶乘是不断相乘上去的,所以定义一个变量专门负责从1开始乘到N,例如 4!= 123*4,其实就是3!4=64,每一级新的阶乘都是上一级的基础上再乘当前的i代码实现的话有循环和递归两种方式p

2021-02-20 18:26:26 1977

原创 滑动窗口最大值列表(Java)

题目描述:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1}, {2,3,4,.

2021-02-20 13:45:54 198

原创 贪心算法(Java实现+解析)

百度镇楼图,讲解概念好帮手~其实就是在某个前提下的最优组合,例如你打游戏爆了一地装备,背包有一定的负重,你要选择价值最高的装备捡。这里就是在价值最优前提下进行的最优组合。如果你在集某些套装,那么你就会挑选套装的装备捡,这就是套装优先前提下的最优组合,不可能说我又要价值最高又符合我的套装。思路:(1)首先要有一个物品的实体类,有三个属性:物品名称,物品重量,物品价格public class Goods {private String name;private Integer weight;pr

2021-02-19 16:20:50 1016

原创 N皇后(Java完整代码+最简单直观解析)

超经典的动态规划算法,超级能扩宽脑筋,应用场景超极广题目:解题思路:(1)第一步是马上构思一个N*N的棋盘,可以用一个二维数组char[][] chessboard实现,可以先初始化这个棋盘全部元素为null:private static char[][] chessboard = {{‘N’,‘N’,‘N’,‘N’,‘N’,‘N’,‘N’,‘N’,‘N’},{‘N’,‘N’,‘N’,‘N’,‘N’,‘N’,‘N’,‘N’,‘N’},{‘N’,‘N’,‘N’,‘N’,‘N’,‘N’,‘N’,‘

2021-02-19 09:53:37 1464

原创 反转字符串(Java实现)

把String换成Char[] ;然后倒序遍历出来,拼接成一个新的String返回即可public static void main(String[] args) { String str = "FEDCBA"; String result = solve(str); System.out.println(result); } private static String solve(String str) { String.

2021-02-07 16:41:27 105

原创 斐波那契数列(Java实现)

百度概念图镇楼基本上,这个入门概念,已经没什么思路分析了,就是很简单的一个for循环而已…还是分析一下吧从第三项开始,往后每一项都属于前两项之和,所以只需要区分 0 肯定返回0, 1和2下标都是1,从3下标开始,就是1+1=2了…其他没什么了,只需要不搞错下标就行。代码实现:private static int Fibonacci(int i) { if (i<=0){ return 0; } if (i<=2)

2021-02-07 16:28:08 239

原创 两数之和(暴力解法+优化)

这题目有点奇怪,我们都知道数组元素下标是从0开始的。它题目应该返回1,2,才是代表2+4=6,不管那么多,明白它需求的意思就开始分析思路思路很简单:(1)循环遍历所有元素(2)拿着每一元素与目标值做差(3)在剩余的元素里面找是否有刚好等于那个差值的(4)记录两个下标返回(5)如果不存在,返回nullpublic static void main(String[] args) { int[] array = new int[]{3,2,4,5}; int[] result = .

2021-02-05 10:02:53 305

原创 插入排序(最简单易懂讲解)---无序暴徒与有序良民的斗争

插入排序着实让我映像深刻,初学时被坑了一把,我看到有的博客说是生成一个新的有序数组,然后循环把待排序数组的每个元素拿去跟有序的比较,找到合适的位置插入对于这种坑爹博客,我只想说:耗子尾汁!首先讲整体思路:把待排序数组切成两部分两个队伍(良民与暴徒),一段是已经排好序的(良民队伍),一段还是乱序的(暴徒队伍),不断拿乱序那边的元素让它在有序的那一段找到最合适自己的位置,让它从乱序变有序,这个动作可以看成是让暴徒找准自己的社会定位,成为对社会有价值的良民,从而感化他那么故事就开始了~(1)混沌之初,一

2021-02-03 17:40:05 159

原创 合并有序链表(Java)

基于两个有序的链表融合成一个新的有序链表,首先了解链表的基本操作:Java实现双向链表结构(1)思路分析:既然是两条有序合并为一条,那么肯定要进行比较大小。那么我们就以第一条有序链表(A)为基础,循环拿另外一条(B)每个元素去比较大小,插入到合适的位置。如果B的元素小于A最前面的元素,则插入到A的最前面。如果B从某个元素开始比A的全部元素都大,又因为B是有序链表,这个就简单了,直接把B拼接到A的尾巴即可,无需再一个个比较。PS:由于链表有头尾两节点,在内存中属于分散存储,所以设置好头尾下一.

2021-02-03 09:42:21 506

原创 kafka消费者协调器与重分配平衡机制

###(1)协调器是什么?什么是协调器,既然叫做协调器,那么肯定就是起协调作用的。协调器协调的对象,是Kafka中的生产者与消费者的协调。###(2)为什么需要协调?我们想象一下,Kafka中都是一个生产者,对应着一个消费组中的一个消费者(不可能存在一个消费组两个消费者消费同一个topic主题生产者),一群消费者中也只有一个leader,其他follower都是从leader同步数据的,如果某个leader由于网络延迟抖动,形成假死,如果没有协调器统一主持选举,就会出现多个leader的脑裂效应。同

2021-02-01 14:44:03 498

原创 Kafka的两种数据清除策略

我们都知道kafka是用.log文件来保存数据的如果海量数据一直保存着,磁盘肯定不够用,在生产环境我们就遇到了吃爆磁盘的问题,才开始关注数据清除策略(1) delete 删除策略(默认)触发清除操作后,数据超过了指定的时间就全部删除留存168个小时,也就是默认7天,后来我们的大佬把生产环境改成了3,也就是只保留3个小时(2)compact 压缩策略配置server.properties:log.cleaner.enable = true (新版本好像是默认true,老版本好像是false

2021-02-01 11:30:45 2535

原创 青蛙跳台阶最简单的递归解法

爬楼梯只有两种上法,一级或者两级每走一步,都会面临两种选择(上一级或者跳两级),不管做出哪种选择,都要递归把走完这步后的剩余楼梯阶数传给下一次,继续面临两种选择至于有多少种走法,必须是两种选择后产生的所有可能的总和拿个最简单的3级楼梯:已知1级楼梯仅剩1种走法,2级楼梯仅剩2种走法,得:1:第一次先走一级,那么只剩下两级,两级楼梯仅剩两种走法,所以返回22:第一次先走两级,那么只剩下一级,一级楼梯仅剩一种走法,所以返回1所以三级楼梯的全部跳法只有:2+1 = 3种,罗列出来:第一种:1,

2021-02-01 09:46:49 314

内存溢出排查手册.pdf

内存溢出排查手册.pdf

2021-05-14

流式字符串统计的FlinkJob

流式字符串统计的FlinkJob小demo

2020-12-31

空空如也

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

TA关注的人

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