自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【剑指 offer 第二版 】Java 代码解析(2021 03 25更新)

这里写自定义目录标题剑指 offer 03:数组中重复的数字题目描述解题思路+代码实现方法一: 排序+for循环方法二:HashSet方法三:原地交换剑指 offer 03:数组中重复的数字题目描述找出数组中重复的数字。(传送门)在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3

2020-12-29 11:45:29 714 4

原创 【正则表达式】一、常见符号含义

正则表达式,基础字符含义解释

2022-10-24 09:00:00 248 1

原创 【leecode每日一题】636. 函数的独占时间

leecode636. 函数的独占时间

2022-08-07 21:10:21 207

原创 MATLAB柱状图(数据可视化)

示例A=[60.689;87.714;143.1;267.9515];C=[127.5;160.4;231.9;400.2]B=C-A;D=[A,B,C];bar1=bar([2:5:17],A,'BarWidth',0.2,'FaceColor','k');hold on;bar2=bar([3:5:18],B,'BarWidth',0.2,'FaceColor',[0.5 0.5 0.5]);hold on;bar3=bar([4:5:19],C,'BarWidth',0.2,'

2022-01-29 14:24:59 2549

原创 python脚本读取数据库

import jsonimport pymysqlimport csv#mysql的数据库连接信息conn = pymysql.connect( #服务器地址 host = '127.0.0.1', #端口号 port = 3306, #用户名 user = 'root', #密码 passwd = 'admin', #数据库名称 db = 'tencent_demo',

2021-08-09 22:30:21 698

原创 sqlx实战

链接数据库声明全局变量 + 定义结构体 + 连接数据库// 声明全局变量dbvar db *sqlx.DB// 结构体存储user表内输出type User struct { ID int Age int `db:"age"` Name string `db:"name"`}// 连接数据库func initDB() (err error) { dsn := "root:wangjian@tcp(127.0.0.1:3306)/db1?charset=utf8mb4&am

2021-08-01 21:30:20 353

原创 go语言sqlx教程

sqlx是一个go语言包,在内置database/sql包之上增加了很多扩展,简化数据库操作代码的书写。准备安装sqlx 驱动$ goget github.com/jmoiron/sqlx本文访问sqlite数据库$ goget github.com/mattn/go-sqlite3Handle Typessqlx设计和database/sql使用方法是一样的。包含有4中主要的handle types:sqlx.DB - 和sql.DB相似,表示数据库。sqlx.Tx - 和sql.

2021-08-01 21:13:24 1698 1

原创 AIOps

2021-07-27 14:45:03 156

原创 【工作必备Git技能】一文彻底学会git命令

命令汇总(具体解释见下文)命令格式含义git init初始化Git仓库git add <file>添加文件到仓库git commit -m <message>提交到仓库git status查看仓库当前状态git diff <file>查看当前文件修改内容git log查看历史记录git log --pretty=oneline查看历史主要记录信息git reset --hard HEAD^回退

2021-07-18 17:39:13 219 2

原创 【Mysql练习】leetcode175.组合两张表(内连接&外连接)

题目描述(传送门)表1: Person+-------------+---------+| 列名 | 类型 |+-------------+---------+| PersonId | int || FirstName | varchar || LastName | varchar |+-------------+---------+PersonId 是上表主键表2: Address+-------------+---------+|

2021-07-14 23:27:17 150 1

原创 【Go语言快速入门】第五节:切片

切片的创建切片(slice)解决了数组长度不能扩展,以及基本类型数组传递时产生副本的问题。常用创建方式:var s1 []int // 和声明数组一样,只是没有长度,但是这样做没有意义,因为底层的数组指针为nils2 := []byte {'a','b','c'}fmt.Println(s1) //输出 []fmt.Print(s2) //输出 [97 98 99]使用make函数创建:slice1 := make([]int,5) // 创建长度为5,容量为5,初始

2021-07-04 21:43:36 165

原创 【Go语言快速入门】第四节:字符串

一 字符Golang 中没有专门的字符类型,如果要存储单个字符(字母),一般使用 byte 来保存,且使用单引号包裹。var c1 byte = 'a'var c2 byte = '0'fmt.Println("c1=", c1) //输出 97 fmt.Println("c2=", c2) //输出48fmt.Printf("c1=%c,c2=%c\n", c1, c2) //输出原值 a 0//var c3 byte = '北'//fmt.Printf("c

2021-07-04 16:58:35 149 1

原创 【Go语言快速入门】第三节:流程控制

1 条件语句1.1 判断语句 if示例:package mainimport "fmt"func main() { // 写法一 var aa int aa= 10 if aa == 10{ fmt.Println("asd") } fmt.Println(aa) // 写法二 if bb := 20; bb == 20 { fmt.Println("rrr") }}1.2 分支语句 switch示例:package mainimport "

2021-06-25 21:57:10 120

原创 【Go语言快速入门】第二节:数据类型

1 数据类型分类值类型:基本数据类型是Go语言实际的原子,复合数据类型是由不同的方式组合基本类型构造出来的数据类型,如:数组,slice,map,结构体整型 int8,uint # 基础类型之数字类型浮点型 float32,float64 # 基础类型之数字类型复数 # 基础类型之数字类型布尔型 bool # 基础类型,只能存true/false,占据1

2021-06-24 22:49:37 104

原创 【Go快速入门】第一节:标识符

1 标识符1.1 关键字Go有25个关键字:if for func case struct import go type chan defer default packagemap const else break select interfacevar goto range return switch

2021-06-24 21:38:18 136 1

原创 【现代操作系统】操作系统基础知识(进程&线程)

1 操作系统基础1.1 什么是操作系统呢?操作系统(OS)是管理计算机硬件与软件资源的程序,是计算机的基石。操作系统本质上是一个运行在计算机上的软件程序,用于管理计算机硬件和软件资源。(运行在电脑上的所有应用程序都通过操作系统的来调用系统的内存以及磁盘等硬件资源)操作系统存在屏蔽了硬件层的复杂性。(操作系统就像是硬件使用的负责人,统筹各种相关事项,有点像web项目中servlet层发挥着前后端交互的作用)操作系统的内核(Kernel)是操作系统的核心部分,他负责系统的内存管理,硬件设备的管理,文

2021-06-17 14:56:38 288 1

原创 对象关系映射(ORM)介绍理解

问题背景假设,让你设计一个框架,把jdbc封装一下??JDBC操作步骤:获取数据库连接Connection创建操作命令对象Statement执行sql语句(sql中,如果有占位符,在执行sql语句前要替换,会使用很多字段来替换占位符(一般包装成一个对象,通过对象属性来操作))处理结果集(查询操作)----通过结果集对象.get类型(”结果集表头字段名“),设置到一个对象属性之中释放资源那么??使用JDBC操作是否方便呢?那么也就需要设计一个框架,来更好地操作数据库!!!ORM是什么?为

2021-06-17 00:47:13 3425

原创 什么是MyBatis?MyBatis和Hibernate有哪些区别?

什么是MyBatis在移动互联网时代,MyBatis 成为了目前互联网 Java 持久框架的首选。MyBatis 本是 Apache 的一个开源项目——iBatis,2010 年这个项目由 Apache Software Foundation 迁移到了 Google Code,并且改名为 MyBatis。MyBatis 是一个基于 Java 的持久层框架。MyBatis 提供的持久层框架包括 SQL Maps 和 Data Access Objects(DAO),它消除了几乎所有的 JDBC 代码和参

2021-06-16 22:35:08 830

原创 String AOP(面向切片编程)是什么?如何实现?

是什么???面向切面编程(AOP)和面向对象编程(OOP)类似,也是一种编程模式。Spring AOP 是基于 AOP 编程模式的一个框架,它的使用有效减少了系统间的重复代码,达到了模块间的松耦合目的。AOP 的全称是“Aspect Oriented Programming”,即面向切面编程,它将业务逻辑的各个部分进行隔离,使开发人员在编写业务逻辑时可以专心于核心业务,从而提高了开发效率。AOP 采取横向抽取机制,取代了传统纵向继承体系的重复性代码,其应用主要体现在事务处理、日志管理、权限控制、异常

2021-06-16 18:20:20 445

原创 【第 54 场双周赛】5202.最大的幻方

题目描述(传送门)一个 k x k 的 幻方 指的是一个 k x k 填满整数的方格阵,且每一行、每一列以及两条对角线的和 全部相等 。幻方中的整数 不需要互不相同 。显然,每个 1 x 1 的方格都是一个幻方。给你一个 m x n 的整数矩阵 grid ,请你返回矩阵中 最大幻方 的 尺寸 (即边长 k)。示例 1:输入:grid = [[7,1,4,5,6],[2,5,1,6,4],[1,5,4,3,2],[1,2,7,3,4]]输出:3解释:最大幻方尺寸为 3 。每一行,每一列以及两条

2021-06-13 23:25:41 145

原创 【第 54 场双周赛】5768.找到需要补充粉笔的学生编号

题目描述(传送门)一个班级里有 n 个学生,编号为 0 到 n - 1 。每个学生会依次回答问题,编号为 0 的学生先回答,然后是编号为 1 的学生,以此类推,直到编号为 n - 1 的学生,然后老师会重复这个过程,重新从编号为 0 的学生开始回答问题。给你一个长度为 n 且下标从 0 开始的整数数组 chalk 和一个整数 k 。一开始粉笔盒里总共有 k 支粉笔。当编号为 i 的学生回答问题时,他会消耗 chalk[i] 支粉笔。如果剩余粉笔数量 严格小于 chalk[i] ,那么学生 i 需要 补充

2021-06-13 23:18:47 112

原创 【第 54 场双周赛】5767.检查是否区域内所有整数都被覆盖

题目描述(传送门)给你一个二维整数数组 ranges 和两个整数 left 和 right 。每个 ranges[i] = [starti, endi] 表示一个从 starti 到 endi 的 闭区间 。如果闭区间 [left, right] 内每个整数都被 ranges 中 至少一个 区间覆盖,那么请你返回 true ,否则返回 false 。已知区间 ranges[i] = [starti, endi] ,如果整数 x 满足 starti <= x <= endi ,那么我们称整数

2021-06-13 23:10:15 179

原创 【秋招笔试】中兴提前批

第一题题目描述具体问题我记不住了,我大概描述一下,就是给定一个数组,array[N],你可以用array[k+1]更新array[k],也就是用数组后边的数更新前边的,用最少的次数是的整个数组和最大。比如:10 5 5 7 6 8最后就是:10 8 8 8 8 8 和为50解题思路&代码解析从后往前遍历数组,维护一个最大值更新数组。import java.util.Arrays;/** * @ClassName Main2 * @Description :TODO *

2021-06-13 22:55:05 390

原创 【每日一题】剑指29.顺时针打印矩阵

题目描述(传送门)输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]代码解析import java.util.Arrays;/** * @ClassName interview29

2021-06-04 16:35:14 78

原创 【每日一题】力扣525.连续数组

题目描述(传送门)给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。示例 1:输入: nums = [0,1]输出: 2说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。示例 2:输入: nums = [0,1,0]输出: 2说明: [0, 1] (或 [1, 0]) 是具有相同数量0和1的最长连续子数组。解题思路暴力(超时)public int findMaxLength(int[] nums) {

2021-06-04 10:22:54 114

原创 【每日一题】力扣523.连续子数组和

题目描述(传送门)给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组:子数组大小 至少为 2 ,且子数组元素总和为 k 的倍数。如果存在,返回 true ;否则,返回 false 。如果存在一个整数 n ,令整数 x 符合 x = n * k ,则称 x 是 k 的一个倍数。示例 1:输入:nums = [23,2,4,6,7], k = 6输出:true解释:[2,4] 是一个大小为 2 的子数组,并且和为 6 。示例 2:输

2021-06-02 16:25:47 110

原创 【Spring】Spring IoC容器:BeanFactory和ApplicationContext

在教程前面介绍 Spring 框架时,已经提到过 Spring 的 IoC(控制反转)思想,本节来详细介绍一下 Spring 的 Ioc 容器。IoC 是指在程序开发中,实例的创建不再由调用者管理,而是由 Spring 容器创建。Spring 容器会负责控制程序之间的关系,而不是由程序代码直接控制,因此,控制权由程序代码转移到了 Spring 容器中,控制权发生了反转,这就是 Spring 的 IoC 思想。Spring 提供了两种 IoC 容器,分别为 BeanFactory 和 Applicatio

2021-05-28 17:16:46 130

原创 【Spring】Java Spring框架是什么?它有哪些好处?Spring体系结构?

Spring框架是什么?Spring 是另一个主流的 Java Web 开发框架,该框架是一个轻量级的应用框架,具有很高的凝聚力和吸引力。Spring 框架因其强大的功能以及卓越的性能而受到众多开发人员的喜爱。Spring 是分层的 Java SE/EE full-stack 轻量级开源框架,以 IoC(Inverse of Control,控制反转)和 AOP(Aspect Oriented Programming,面向切面编程)为内核,使用基本的 JavaBean 完成以前只可能由 EJB 完成的工

2021-05-28 16:49:11 1990

原创 【Spring】Spring Bean的配置及常用属性

bean作为 Spring 核心机制的依赖注入,改变了传统的编程习惯,对组件的实例化不再由应用程序完成,转而交由 Spring 容器完成,在需要时注入应用程序中,从而对组件之间依赖关系进行了解耦。这一切都离不开 Spring 配置文件中使用的 bean 元素。Spring 容器可以被看作一个大工厂,而 Spring 容器中的 Bean 就相当于该工厂的产品。如果希望这个大工厂能够生产和管理 Bean,这时则需要告诉容器需要哪些 Bean,以及需要以何种方式将这些 Bean 装配到一起。Spring 配

2021-05-28 16:09:03 399

原创 Spring框架配置使用的流程

加载配置文件pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.ap

2021-05-27 23:03:25 342 2

原创 用堆模拟实现优先级队列

import java.util.Comparator;/** * @ClassName MyPriorityQueue * @Description :TODO * @Author Josvin * @Date 2021/05/26/21:08 */public class MyPriorityQueue { private String[] array = new String[100]; private int size; private Comparato.

2021-05-26 22:07:21 63

原创 对象的比较&优先队列使用&天干排序

package 堆;import java.util.Comparator;import java.util.PriorityQueue;import java.util.Queue;/** * @ClassName Demo * @Description :TODO * @Author Josvin * @Date 2021/05/26/20:56 */public class Demo { static class TianGanComparator implements

2021-05-26 21:06:41 100

原创 【数据结构】堆的认知和实现

堆的概念如果有一个关键码的集合K = {k0,k1, k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足:Ki <= K2i+1 且 Ki<= K2i+2 (Ki >= K2i+1 且 Ki >= K2i+2) i = 0,1,2…,则称为小堆(或大堆)。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。堆的性质:堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树堆的存储方式从堆的概念可知

2021-05-26 20:51:50 94

原创 【每日一题】力扣307.区域和检索-数组可修改(线段树实现)

题目描述(传送门)给你一个数组 nums ,请你完成两类查询,其中一类查询要求更新数组下标对应的值,另一类查询要求返回数组中某个范围内元素的总和。实现 NumArray 类:NumArray(int[] nums) 用整数数组 nums 初始化对象void update(int index, int val) 将 nums[index] 的值更新为 valint sumRange(int left, int right) 返回子数组 nums[left, right] 的总和(即,nums[lef

2021-05-25 22:40:16 233

原创 【每日一题】leetcode 211.添加与搜索单词-数据结构设计(前缀树+回溯)

题目描述(传送门)请你设计一个数据结构,支持 添加新单词 和 查找字符串是否与任何先前添加的字符串匹配 。实现词典类 WordDictionary :WordDictionary() 初始化词典对象void addWord(word) 将 word 添加到数据结构中,之后可以对它进行匹配bool search(word) 如果数据结构中存在字符串与 word 匹配,则返回 true ;否则,返回 false 。word 中可能包含一些 ‘.’ ,每个 . 都可以表示任何一个字母。示例:输入:

2021-05-25 20:36:36 127

原创 【每日一题】leetcode 208.实现Trie(前缀树)

题目描述(传送门)Trie(发音类似 “try”)或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。请你实现 Trie 类:Trie() 初始化前缀树对象。void insert(String word) 向前缀树中插入字符串 word 。boolean search(String word) 如果字符串 word 在前缀树中,返回 true(即,在检索之前已经插入);否则,返回 false 。boolean st

2021-05-25 17:09:54 91

原创 【每日一题】leetcode 664.奇怪的打印机

题目描述(传送门)有台奇怪的打印机有以下两个特殊要求:打印机每次只能打印由 同一个字符 组成的序列。每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。给你一个字符串 s ,你的任务是计算这个打印机打印它需要的最少打印次数。示例 1:输入:s = "aaabbb"输出:2解释:首先打印 "aaa" 然后打印 "bbb"。示例 2:输入:s = "aba"输出:2解释:首先打印 "aaa" 然后在第二个位置打印 "b" 覆盖掉原来的字符 'a'。解题思路首先我们

2021-05-24 23:02:46 628

原创 超长十六进制序列转为二进制序列Java实现

由于在项目中需要将16进制转为2进制输入:所以写了一下程序:/** * @ClassName Test * @Description :TODO * @Author Josvin * @Date 2021/05/17/10:43 */public class Test { public static void main(String[] args) { String ss = "1A CF FC 1D FF 87 B8 59 B7 A1 CC 24 57 5E 4B

2021-05-19 10:40:33 308

原创 【JavaSE】面向对象的三大特征(封装、继承、多态)

封装类和对象的初步认识封装是指把一个对象的状态信息(也就是属性)隐藏在对象内部,不允许外部对象直接访问对象的内部信息。但是可以提供一些可以被外界访问的方法来操作属性。就好像我们看不到挂在墙上的空调的内部的零件信息(也就是属性),但是可以通过遥控器(方法)来控制空调。如果属性不想被外界访问,我们大可不必提供方法给外界访问。但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意义了。就好像如果没有空调遥控器,那么我们就无法操控空凋制冷,空调本身就没有意义了(当然现在还有很多其他方法 ,这里只是为了举

2021-05-15 00:02:03 122

原创 【每日一题】力扣150.逆波兰表达式求值

题目描述(传送门)根据 逆波兰表示法,求表达式的值。有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:输入:tokens = ["2","1","+","3","*"]输出:9解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9示例 2:输入:tokens = ["4","13","5","/","

2021-05-14 22:31:18 123

图像重建 网络去雾.pptx

Gated Fusion Network for Single Image Dehazing 文献学习汇报ppt

2020-05-08

空空如也

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

TA关注的人

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