自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (1)
  • 收藏
  • 关注

原创 消息队列-消息队列保证消息可靠性的一些建议

kafka 保证对「已提交」的消息进行有限度的可靠性。已提交:消息已经在 1-n 个 broker 上写到 日志 中有限度:n 个 broker 不能同时全部挂掉,不然神仙难救。

2024-06-16 00:08:25 755 1

原创 「go module」一文总结 go mod 入门&使用

Go Modules 简述

2023-11-26 17:42:04 1750

原创 「项目阅读系列」go-gin-example star 6.5k!(1)

go 项目代码阅读

2023-11-19 12:39:23 541

原创 「git 系列」git 如何存储代码的?

git 对象模型以及存储管理

2023-11-19 00:34:07 652

原创 [mysql系列] mysql 数据库如何实现事务回滚

主要参考资料为:《Mysql 是怎样运行的》

2023-08-20 19:20:05 2342

原创 【leetcode】背包问题 5/6

1049 最后一块石头的重量II思路:将整个数组中的数分为两部分,并且让其尽量相等,就可以达到最后一块石头最小的目的。由此,可以将该问题转换为一个背包问题,背包容量为 sum/2,在这个容量下拿到最大体积的石头。定义 dp 数组dp[i] 表示 i 容量下可以容纳石头的最大重量。递推公式dp[i] = Math.max(dp[i], dp[i-stones[j]]+stones[j]);初始化全部初始化为 0 即可遍历顺序当使用一维 dp 时,外层是物品,内层是容量,并且内层是倒序遍历。

2022-05-06 23:24:29 170

原创 【手写 Spring 框架 AOP 篇】一、基于 JDK、CGlib 实现 AOP 切面

这个系列是基于小傅哥的「手撸 Spring」学习的一个记录目标AOP 意为面向切面编程,通过预编译的方式和运行期间动态代理实现程序功能的统一维护。这句话可能不太好理解,可以先看下图:从图中可以看出, AOP 的作用就是在对某些具有共同特点的方法进行拦截,并执行方法拦截器中的功能,完成对原有方法的功能的扩展。这一次首先是要实现一个简单的切面功能。设计首先从代理一个方法,来观察代理方法的过程。public void test_proxy_method() { Object t.

2022-05-06 20:50:37 801

原创 Leetcode 栈的简单应用

Leetcode 20 有效的括号题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = “()”输出:true示例 2:输入:s = “()[]{}”输出:true示例 3:输入:s = “(]”输出:false示例 4:输入:s = “([)]”输出:false示例 5:输入:s = “{[]}

2021-05-12 15:18:35 174

原创 Leetcode 349 两个数组的交集

题目描述给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]分析和实现对于这个问题,要求的结果是两个数组的交集,也就是两者都有的元素。那么,很自然的思路就是对两个数组进行统计,然后查看两者之间的相同元素。Map + Set在具体实现时,我用 map 对第一个数组进行统计,用 set 来保存两个

2021-05-10 15:44:15 119

原创 Leetcode 1207独一无二的出现次数

问题描述给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。示例 1:输入:arr = [1,2,2,1,1,3]输出:true解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。示例 2:输入:arr = [1,2]输出:false示例 3:输入:arr = [-3,0,1,-3,1,1,1,-3,10,0]输出:true提示:

2021-05-10 00:28:35 106

原创 Leetcode 242 有效的字母异位词

问题描述给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car”输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?分析和实现统计法可以使用额外的空间进行字符串的统计,对于第一个字符串,统计各个字符出现的次数;对于第二个

2021-05-09 23:58:33 136 1

原创 Leetcode 13 罗马数字转整数

问题描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II

2021-05-01 11:39:08 68

原创 Druid 统计监控页面无法打开

问题描述最近在练习整合 Springboot + Druid,却发现当我在 yml 中配置好 Druid 后,系统总是出现 404 错误。解决方法搜集了网上的很多资料之后,我得到了两种总结的方法。1. yml 配置对于 Druid 依赖,有两种:druid 和 druid-spring-boot-starter。当我使用前者进行 yml 配置后,无法正确进入控制页面,使用后者即可。补充一句,在我查到的很多博客中,有人将 1.1.20 版本降级后,出现了正确的页面,我自己测试 1.1.10 和 1

2021-05-01 10:21:31 5460 1

原创 剑指 offer 58-II 左旋转字符串

问题描述字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = “abcdefg”, k = 2输出: “cdefgab”示例 2:输入: s = “lrloseumgh”, k = 6输出: “umghlrlose”限制:1 <= k < s.length <= 10000分析和实现这

2021-04-30 15:00:09 164 1

原创 Leetcode 344 反转字符串

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

2021-04-30 10:25:17 79

原创 剑指offer 05 替换空格

问题描述请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”分析和实现暴力实现最容易想到的就是遍历并且进行字符串拼接,具体代码如下:class Solution { public String replaceSpace(String s) { String result = ""; int length = s.length();

2021-04-28 22:00:32 66

原创 Leetcode 54 螺旋矩阵

Leetcode 数组系列:leetcode 1 两数之和leetcode 59 螺旋矩阵 IIleetcode 66 加一剑指offer3 数组中重复的数字leetcode 75 颜色分类Leetcode 54 螺旋矩阵问题描述给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:m

2021-04-24 17:11:07 105

原创 Leetcode 75 颜色分类

Leetcode 数组系列:leetcode 1 两数之和leetcode 59 螺旋矩阵 IIleetcode 66 加一剑指offer3 数组中重复的数字leetcode 75 颜色分类问题描述给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。示例 1:输入:nums = [2,0,2,1,1,0]输出:[0,0,1,1,2,2]

2021-04-24 16:31:36 89

原创 Leetcode 剑指offer3 数组中重复的数字

题目描述找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3分析和实现暴力解法对于这个问题,直观的感受,就是直接 for 循环搜索,然后使用一个 Map 进行记录,如果已经在记录中存在,说明已经重复,返回该值,反之,继续循环。代码如下class Soluti

2021-04-24 13:17:51 130

原创 Leetcode 66 加一

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

2021-04-23 21:15:36 82

原创 Leetcode 59 螺旋数组 2

题目描述给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。示例 1:输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2:输入:n = 1输出:[[1]]解法对于这个问题,我们可以使用模拟的方法,按照图中的顺时针顺序进行填充。**在这个问题中,对于每一层的填充,我们可以分解为四个步骤:从左到右,从上到下,从右到左,从下到上。**代码如下:class Solution {

2021-04-21 15:55:52 87

原创 Leetcode 1两数之和

问题描述给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], target = 6

2021-04-21 10:49:33 80

原创 Leetcode 38 外观数组

题目描述题目分析和实现根据题目可知,我们可以得到如下几点:当 n == 1 时,返回 “1”对于第 n 个输出,它只与它的前一项有关对于第 n 个输出,它表示对前一项的描述所以对于要写出来的程序,特点如下:主体是一个循环,在循环中生成对上一次的描述描述函数中,主要是对上一个字符串的分割和计数实现如下:class Solution { public String countAndSay(int n) { String s = "1"; f

2021-04-20 14:58:23 96

原创 Spingboot 接口的统一格式返回

文章目录前言代码效果后记前言在后半年在学长领导下,使用 MVC 模式做了自己的第一个项目,由于对这种模式是第一次接触,写下来的代码如今看来很不如人意,尤其是最近在使用这部分后台代码给微信小程序使用的时候更是如此,后台代码的健壮性和返回值的不统一给使用带来了很大的麻烦。注释:我在使用时,代码结构主要是 Controller、Service、Dao、Entity以及 Util,其中 Entity 为实体类,并不是定义 BO VO 等多个实体类,应该不算是严格意义的 MVC。最近在学习一些专栏的时候,

2021-02-07 22:02:54 153

原创 如何在聊天框中将两个 div 并列

缘由本人菜鸡,高手勿进!!!!!最近在做一个前端小程序的时候,需要模拟 qq 聊天框的样式,其中头像和输出的文本如何保持在一条线上让我搞了很久,记录一下。做法<div class="btalk" id="bTalk"> <div id="khName">我</div> <!-- 头像和文本的容器 --> <div id="box"> <span id="bsay">密码</span>

2020-09-22 00:20:28 150

原创 金融风控 task3

文章目录学习目标学习过程读取数据异常值处理特征预处理缺失值填充学习目标学习特征预处理、缺失值、异常值处理、特征分桶等特征处理方式学习特征交互、编码、选择的相应方法学习过程读取数据import pandasaspd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import datetime fromt qdm import tqdm from sklearn.preprocessin

2020-09-21 23:59:05 2541

原创 金融风控入门赛 task2

EDA数据总体了解读取数据集并了解数据集大小,原始特征维度 读取数据的扩展知识 :对于文件特别大的场景,通过nrows参数,来设置读取文件的前多少行;分块读取 通过info熟悉数据类型 粗略查看数据集中各特征基本统计量缺失值和唯一值查看数据缺失值 查看唯一值特征情况深入数据-查看数据类型类别型数据 数值型数据 离散数值型数据 连续数值型数据 特征分箱数值型特征本是可以直接入模的,但往往风控人员要对其做分箱,转化为WOE编码进而做标准评分卡等操作。 从模型效果

2020-09-18 22:53:29 103

原创 金融风控-贷款违约预测 task1

文章目录学习目标预测指标ROC学习目标理解赛题数据和目标,清楚评分体系。下载数据和结果提交打卡,熟悉比赛流程预测指标竞赛使用 AUC 做评价指标。AUC 被定义为 ROC 曲线下与坐标轴围成的面积。ROCROC 使用正例率和负例率做横纵轴正例率 TPR = TP/(TP+FN);负例率 FPR = TN/(TN+FP);如图所使,ROC 一般是在 y=x 之上,所以 AUC 面积在 0.5-1 之间,数值越大效果越好。...

2020-09-14 22:31:49 128

原创 python 爬虫实战:掘金文章爬取并保存在 mysql

文章目录一、代码目的二、爬取内容和思路2.1 爬取内容:2.2 思路爬取内容的分析存储到 mysql一、代码目的最近进行一个掘金爬虫,感觉还是挺有意思的,掘金的爬虫文章好像还是比较少的,记录一下。二、爬取内容和思路2.1 爬取内容:主要包括两部分:1. 对掘金的文章列表进行爬取,包括文章标题、用户名、文章简介以及文章链接;2. 具体的文章内容,这部分只爬取了文章标题和内容。2.2 思路爬取内容的分析首先分析图一,这部分通过 F12 将请求锁定在 https://apinew.juej

2020-09-07 11:48:46 1756 6

原创 位运算操作解决 leetcode 191

题目题目表述:编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数示例:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。思路: 本题使用位运算进行比较简单,而且有两种位运算方法。第一种:在循环中,如果 n%2 ...

2020-04-29 23:56:30 139

原创 从“递推序列”问题看两种思路的时间复杂度

题目描述给定a0,a1,以及an=pa(n-1) + qa(n-2)中的p,q。这里n >= 2。 求第k个数对10000的模。输入描述输入包括5个整数:a0、a1、p、q、k。输出描述:第k个数a(k)对10000的模。示例:20 1 1 14 58359思路:看到题目之后,我首先想到的是:递归,直接使用题目所给的公式,结果时间复杂度太高,没有通过。接着我就使...

2020-04-13 22:10:07 203

原创 牛客网成绩排序题(c++ 实现)

这两天在牛客网上刷高校复试上机题目,碰见两道题目近似的题目,记录一下。成绩排序(姓名和成绩)查找和排序题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩都按先录入排列在前的规则处理。示例:jack 70peter 96Tom 70smith 67从高到低 成绩peter 96jack ...

2020-04-12 22:50:19 962

原创 python 小白爬虫实战:使用 scrapy 爬取微博热搜并发送邮箱

文章目录环境爬取内容和思路实现文件结构具体实现后记参考资料环境我的环境是:python3.5 + scrapy 2.0.0爬取内容和思路爬取内容:微博热搜的关键词,链接,以及导语,即简要概述热搜内容的一小段话思路:对于热搜链接:通过热搜关键词所在标签的属性再加上前缀即可(如图1)对于关键词:进入关键词所在链接,一般会有一个如图2所示的位置,根据标签解析出内容;如果没有,存入“无”...

2020-03-28 21:07:43 2537

原创 根据单词中夹杂的数字对字符串进行排序

1. 任务由题目可以知道,任务是根据字符串中的单词夹带的数字对字符串进行重新排序。例如:排序前:“is2 Thi1s T4est 3a”排序后:“Thi1s is2 3a T4est”2.思路我的思路是:将整个字符串先分割,做成一个单词(word)为元素的 list对每一个 word ,找到它包含的数字,并记录到辅助 list 中根据辅助 list 和 words 构成的...

2020-02-15 00:16:27 425

原创 中文信息处理之最大正向匹配法的评价程序改进

一、背景昨天写的最大正向匹配法的评价程序存在如下问题:一个句子使用自己的分词方法分词,结果里边有些词汇判断是对的,但实际上是错的。如下:s = “山西山东都有西山煤电”s1 = “山西山东” 分出一个【西山】s2 = “西山煤电” 分出一个【西山】s1 结果显然是错的,但是我们可能划到正确的范围中二、改进方案通过初始索引和切分的字符长度来判断分割是否正确。输入:严守一把手机关...

2019-03-21 22:25:17 243

原创 中文信息处理之最大正向匹配法(下)

文章目录2.最大正向匹配法3.评价程序总结2.最大正向匹配法这是一个基于词表的分词方法。主要思想是:把一个句子从左向右扫描一遍,遇到词典中的词就标识出来遇到复合词找最长的词匹配遇到不认识的字串就分割为单字词词表我们已经建立成功了(中文信息处理之最大正向匹配法(上)),接着我们开始根据上述三点写主体程序,代码如下。def fenci(s,maxlen,Fenci_list):#...

2019-03-19 22:21:14 2746

原创 中文信息处理之正向最大匹配法(上)

文章目录一、工具二、任务分词1. 抽取词表,统计词频一、工具语言:python3.5语料:人民日报语料二、任务分词1. 抽取词表,统计词频给的素材如图 1 所示:观察上边的格式,可以得到:所抽取的文本信息(包括标点)都是在两个空格和 / 之间,所以正则表达式如下:# text 是文本信息import repattern = re.compile(r' (.*?)/')fe...

2019-03-19 21:40:50 869 1

原创 算法笔记 11 哈希算法

微信公众号:珷玞的日常基础定义:将任意长度的二进制串映射为固定长度的二进制串,这个映射规则就是哈希算法哈希值:通过原始数据映射得到的二进制串。优秀的哈希函数的几点要求: 从哈希值不能反向推导出原始数据 对输入数据敏感,原始数据的微弱改变都会使得哈希值很大的变化 散列冲突概率尽量小 哈希算法的执行效率尽量高效 为什么哈希算法无法做到零冲突?...

2019-02-01 22:25:06 222

原创 算法笔记 10 散列表

微信公众号:珷玞的日常基础散列表用的是数组支持下标随机访问数据的特性,所以散列表其实就是数组的一种扩展,由数组演化而来。通过散列函数将元素的键值映射为下标,然后将数据存储在数组对应下标的位置。我们按照键值查询元素时,我们使用同样的散列函数,将键值转化为数组下标,从对应的数组下标位置取数据。散列函数散列函数的基本要求: 散列函数计算得到的散列值必须是一个非负整数 ...

2019-01-30 22:34:12 158

原创 算法笔记 9 二分查找

微信公众号:珷玞的日常基础二分查找针对的是一个有序的数据集合。每次都与区间中间的数据比较大小,将待查找的范围缩小到原来的一半,直到找到要查找的元素,或者区间被缩小为 0。时间复杂度 O(nlogn)。二分查找的递归和非递归实现 # 循环实现 def binarySearch(l,data): n = len(l) low = 0 ...

2019-01-27 00:12:52 164

java记事本

java记事本,基本实现了复制、粘贴、剪切、保存、查找、替换等功能

2018-06-10

空空如也

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

TA关注的人

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