自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DAY DAY UP!

DAY DAY UP!

  • 博客(66)
  • 收藏
  • 关注

原创 best-pay-sdk 微信请求支付的时候出现org.simpleframework.xml.core.ElementException:appid is null 问题

控制台报错如下org.simpleframework.xml.core.ElementException: Value for @org.simpleframework.xml.Element(name=appid, type=void, data=false, required=true) on field 'appid' private java.lang.String com.lly835.bestpay.model.wxpay.request.WxPayUnifiedorderReque.

2022-01-20 00:39:44 779 3

原创 第10题:青蛙跳台阶

1. 题目2. 思路直接参考leetcode解释即可,注意一点 n=0的时候,就是只有0级台阶,只有一种方法就是站着不动,所以f(0)=1。3. 代码class Solution { public int numWays(int n) { // 初始条件 f(0) = 1, f(1) = 1 f(2)=f(1)+f(0) // n=0的时候,就是只有0级台阶,只有一种方法就是站着不动,所以f(0)=1 int a =

2021-12-05 21:02:20 232

原创 第10题:斐波那契数列

1. 题目2. 思路方法1:递归,但是有很多重复计算方法2:带备忘录的递归:自顶向下,带备忘录可以避免重复计算方法3:动态规划(自底向上),与递推类似(递推参考:https://mp.weixin.qq.com/s/mJ_jZZoak7uhItNgnfmZvQ)此法只能计算一个数,而带备忘录的是计算出所有数再返回。让a,b一直往下变化,则就可以自底(0)向上(n)计算出 f(n)3. 代码时间O(N),空间O(1)class Solution { public

2021-12-05 20:35:26 200

原创 第9题:用两个栈实现队列

1. 题目题目输入输出的意思:输入 CQueue,appendTail,deleteHead,deleteHead。[ [], [3], [], [] ]表示,先实例化CQueue类,然后进行appendTail(3),然后deleteHead(),再deleteHead() 。注意:数组中的3就是操作数!然后输出结果是:null( 创建对象无返回值 )null(appendTail()无返回值 )3( 此时A栈只有一个元素3,B栈空,那么此时deleteHead()返回值就是3 )

2021-12-05 15:33:26 326

原创 第7题:重建二叉树

目录1. 题目描述2. 解题思路3. 代码4. 心得体会文章参考1. 题目描述2. 解题思路首先知道前序遍历:根左右。中序:左根右根据以上性质可以推断:前序时第一个是根节点。根据前序结果,在中序时候,搜索根节点可以划分左右子树。根据划分的子树中节点数,可以把前序结果划分为 根 | 左子树 | 右子树之后步骤直接看上面的参考原文即可。就不赘述了。3. 代码在这里插入代码片4. 心得体会分治法树形结构分左右,一般分成左右的都可以考虑分治...

2021-12-04 18:21:02 522

原创 第6题:从尾到头打印链表

目录1. 题目描述2. 思路3. 代码1. 题目描述2. 思路3. 代码使用栈,先进后出特性这种先进后出,或者倒序的都可以考虑一下栈/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } // 构造函数 * } */class Solution {

2021-11-12 21:43:47 355

原创 第5题:替换空格

目录1. 题目描述2. 思路3. 代码4. String、StringBuffer和StringBuilder的区别参考1. 题目描述2. 思路3. 代码class Solution { public String replaceSpace(String s) { // 新建一个数组 StringBuilder res = new StringBuilder(); // 把字符串转换成 char数组,Character是char的包装类

2021-11-12 14:59:52 198

原创 第4题:二维数组中的查找

目录1. 题目描述2. 思考3. 此题思路4. 代码参考1参考21. 题目描述2. 思考上面图片中,我们要找8,我们从左下角开始向右上角找,使用2个指针i ,j。i = 4,j=0时,temp=18,其右边都>18,而 8 < 18,所以18右边的元素都可以排除,然后 i - - 。i=3,j=0时,temp = 10,8 < 10,10右边排除,i - -;i=2,j=0时,temp=3,3<8,3上方的都<3,所以排除,且3!=8,

2021-11-12 14:12:48 594

原创 第3题:数组中重复的数字

题目描述思路可以使用hashset,如果数组元素不在hashset中就add,如果已经存在就返回(即结果)。时间和空间复杂度都是O(n),多个set所以O(n)hashset特点参考基于hashmap实现无序且唯一因为无序,所以没有索引操作,只能增强for遍历,普通for(需要索引)add,remove,contains,clear,size等方法hashset和hashmap区别参考一个实现set接口,一个map接口map键值对,set无序所以只能遍历map的key

2021-11-11 15:07:20 616

原创 纸牌魔术学习路线入门(2021/11/11更新)

目录1. 推荐视频2. 推荐UP3. 基础手法4. 资源下载1. 推荐视频知乎答案参考Oz Pearlman Born To Perform Card Magic纸牌大学待续2. 推荐UPBarry巴里里我是YOLO远贱君_MrForesight魔术特白一颗咕咕星SomedayWill3. 基础手法握牌:注意食指,中指,无名指不要握太下break:尾指数法break:大拇指带动小拇指用力教程参考1教程参考2视频经验参考4. 资源下载链接:http

2021-11-11 13:12:39 316

原创 图解算法笔记

1. 二分查找 输入有序序列(数组),一个数(找的数)package MySearch;public class BinarySearchDemo { public static void main(String[] args) { int[] arr = {1,2,3,4,5,6,7,8,9,11}; int res = binarySearch(arr, 11); System.out.println...

2021-11-10 13:20:20 214

原创 3 - 查找算法

目录1. 顺序查找2. 有序表查找2.1 二分查找2.2 插值查找2.3 斐波那契查找3. 线性索引4. 树索引5. 哈希1. 顺序查找说明:顺序查找适合于存储结构为顺序存储或链接存储的线性表。基本思想:顺序查找也称为线形查找,属于无序查找算法。从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于k的结点,表示查找失败。复杂度分析:   查找成功时的平均查找...

2021-11-08 21:24:56 233

原创 (自用,无内容,勿点)MySQL必知必会笔记

MySQL必知必会笔记基础操作检索数据 select排序检索 order by过滤数据 where数据过滤通配符正则计算字段数据处理函数待续基础操作选择数据库:use xxx;显示数据库,表格:show databases/ tables;检索数据 select检索单列:select id from xxx;检索多列:select id,name from xxx;检索所有列:select * from xxx;检索唯一行:select distinct name from xxx;

2021-11-08 17:02:30 509

原创 数据库学习路线

参考学习路线: 1. MySQL必知必会 2.MySQL 是怎么运行的 3.MySQL技术内幕 4. 高性能Mysql,看索引章节面试常考:基本语法:select/delete/insert/update、limit、join等 索引:B+树,聚族索引,二级索引,组合索引,最左匹配原则,索引失效、慢查询 事务:事务四大特性ACID,事务隔离级别,MVCC 锁:全局锁、表级锁、行级锁、快照读、当前读、乐观锁、悲观...

2021-11-08 11:44:03 1515

原创 十大排序算法整理

十大排序算法整理1 概述1.1 分类与时间复杂度1.2 稳定排序、原地排序、时间复杂度、空间复杂度2 冒泡排序(✓)3 快速排序(✓)4 插入排序(✓)5 希尔排序(✓)6 选择排序(✓)7 堆排序(✓)什么是堆:堆排序8 归并排序(✓)9 计数排序(✓)10 桶排序(✓)11 基数排序(✓)[10 大排序算法参考1](https://mp.weixin.qq.com/s/IAZnN00i65Ad3BicZy5kzQ)[10 大排序算法参考2](https://gitee.com/zhongfucheng/

2021-11-04 14:17:47 273

原创 2 - 二叉树

查找算法一级目录一级目录

2021-11-04 14:11:51 124

原创 1 - 队列,链表,栈

目录1.逻辑结构和物理结构(存储结构)1.1 逻辑结构1.2 物理结构2. 稀疏数组2.1 介绍2.2 代码实现3 队列3.1 介绍3.2 代码实现4 环形队列4.1 介绍4.2 代码实现5 链表5.1 参考大话数据结构5.2 单链表5.2.1 直接插入到尾节点单链表代码实例5.2.2 带排序的单链表代码实现5.2.3 修改节点,删除节点1.逻辑结构和物理结构(存储结构)1.1 逻辑结构集合结构(无关系)线性结构(一对一)代表:线性表,栈,队列, 串非线性结构树形结构(一对多)图形

2021-11-01 13:24:11 95

原创 如何配置yolov5并训练自己的模型

提前准备Pycharmpython3.8yolov5源码 官网链接创建项目下载yolov5源码,推荐使用最新版,如下图,直接下载master分支即可解压下载的zip文件,使用pycharm打开项目,接着添加解释器这里使用新环境,没有用anaconda,因为使用pycharm自带的python环境可以让虚拟环境跟随项目,在其他电脑运行时候就不用重新配置环境了。使用pycharm的终端安装requirements.txt中需要的环境,直接在终端 pip instal

2021-10-20 19:27:33 3035 4

原创 数据集增强

''' 这是图片数据增强的代码,可以对图片实现: 1. 尺寸放大缩小 2. 旋转(任意角度,如45°,90°,180°,270°) 3. 翻转(水平翻转,垂直翻转) 4. 明亮度改变(变亮,变暗) 5. 像素平移(往一个方向平移像素,空出部分自动填补黑色) 6. 添加噪声(椒盐噪声,高斯噪声)'''import osimport cv2import numpy as np'''缩放'''# 放大缩小def Scale(image,

2021-10-20 16:19:47 775

原创 正则表达式

目录参考参考‘x’就表示匹配x本身\ 匹配 \\n 换行(’\u000A’)\r 回车(’\u000D‘)[abc]匹配一个字符,a,b,c都可以[^abc] 除了a和b和c任意一个[a-zA-Z]匹配一个,在范围之间任意一个[0-9]匹配0-9任意一个. 匹配任意一个;.表示匹配.本身\d 匹配一个数字 = [0-9]\w 匹配一个字符 [a-zA-Z_0-9] 数字字母下划线^ 表示开头,$表示结尾,\b表示单词边界(不是\w的地方就是)举例 hello wor

2021-09-06 13:57:00 106

原创 JAVA多线程

目录多线程1. 多线程实现1.1 继承Thread类1.2 实现Runnable接口1.32. 线程调度和控制2.1 调度2.2 控制3. 线程生命周期4. 线程同步5. 死锁6. 线程间通信7. 定时器使用多线程1. 多线程实现1.1 继承Thread类继承Thread类重写run方法创建实例启动线程 start()先创建一个线程类,然后在另一个类中,创建该对象,然后run即可getName()可以获取线程名称setName()可以设置线程名称p

2021-09-03 15:38:43 87

原创 JAVA文件操作(IO)

目录File类1. 构造方法,创建,删除,重命名,判断2. 获取功能3. 练习:判断目录下是否有.jpg结尾文件,有就输出IO流1. 分类2. IO流基类3 字节流3.1 FileOutputStream3.2 BufferedOutputStream4 字符流4.1 字符流,字节流转换4.2 InputStreamReader4.3 OutputStreamWriter4.4 BufferedWriter4.5 BufferedReader4.6 字符缓冲流特殊用法4.7 总结5 操作基本数据类型6 内存

2021-08-31 14:39:54 100

原创 JAVA笔记

JAVA笔记default private protected public一个.java文件只能包含一个public类,但可以包含多个非public类。如果有public类,文件名必须和public类的名字相同。值类型和引用类型:- 除了基本类型都是引用类型。- 值类型之前不相互影响,他们指向2个地址;引用类型指向一个地址(String是不可变类型,所以地址还是不同),如下int a = 2;int b = a;a = 3后,b还是=2;他们地址不同。String name =

2021-08-23 20:45:56 83

原创 设计模式-装饰器模式(6)

装饰器模式1. 实例业务场景:星巴克卖咖啡,一开始,只有四种咖啡:Decaf,Espresso,DrakRoast,HouseBlend。因为所有咖啡都有共性,所以可以继承自一个父类,Beverage。// 0. 业务// 星巴克卖咖啡,一开始,只有四种咖啡:Decaf,Espresso,DrakRoast,HouseBlend。// 因为所有咖啡都有共性,所以可以继承自一个父类,Beverage(饮料)。// 1. 咖啡父类abstract class Beverage{ p

2021-07-27 16:11:03 110

原创 设计模式-建造者模式(5)

建造者模式1. 实例定义一个电脑类,实例化电脑类对象,以及给对象的属性赋值// 定义一个电脑类,实例化电脑类对象,以及给对象的属性赋值class Computer{ private String cpu; private String gpu; private String memory; private String hard; public String getCpu() { return cpu; } publ

2021-07-12 15:42:17 197

原创 设计模式-原型模式(4)

原型模式为什么需要原型模式实例使用原型模式解决上面问题:必须让目标类实现cloneable接口,该接口中没有任何抽象方法。这样的接口仅仅是一个“标记接口”,作用是告诉jvm,任何实现该接口的对象可以被clone。必须重写java.lang.Object的clone方法,一定要把该方法的访问修饰符重写为public!!不然无法调用clone方法。import java.util.Date;class WeekReport implements Cloneable

2021-07-09 18:18:57 46

原创 设计模式-抽象工厂模式(3)

抽象工厂适用:多产品等级。工厂方法适用单一产品等级。1. 实例// 服务端// 抽象产品interface Food{ public void eat();}interface Drink{ public void drink();}// 具体产品class hanbao implements Food{ @Override public void eat(){ System.out.println("吃汉堡"); }}

2021-07-06 18:08:47 79 3

原创 面向对象三大特点和含义

面向对象三大特点和含义封装对外隐藏复杂实现(迪米特法则,最少知道原则)隔离变化提高重用性保护数据(private,检查)继承提高代码重用性(如果仅仅为了重用,优先考虑组合(合成复用原则))多态的前提多态作用: 提高扩展性(上层不变,下层重写)体现:向上转型限制:向上转型时,子类独有的成员(只有继承自父类的才能用,子类自己的不可以)无法使用。且通过父类创建的变量 f 调用的是子类重写父类或者继承父类的方法,而不是调用父类的方法。father f = new son()

2021-07-06 14:09:36 153

原创 设计模式-工厂方法模式(2)

工厂方法模式1. 实例// 服务端 ===============================================// 抽象产品interface Food{ void eat();}// 具体产品class hanbao implements Food{ @Override public void eat(){ System.out.println("chi han bao"); }}class mixian imp

2021-07-06 13:53:23 57

原创 设计模式-简单工厂模式(1)

简单工厂模式1. 必须知道的知识具体产品:实现接口的类(如4中的hanbao,mixian)抽象产品:接口,抽象类(Food)产品簇:产品等级:设计模式中的接口:只要是下层暴露给上层的都叫接口:方法,类,interface2. 学习设计模式须知2点:开发代码的程序员,分为作者(服务端),用户(客户端)。如我们使用c3p0时,我们拿着别人写好的数据库连接池的字节码使用,制作c3p0的程序员就是作者,我们就是用户。我们手头并不会时时刻刻都有作者的源代码,所以我们不能修改源代码,要符合

2021-07-06 10:55:02 88

原创 设计模式-7大设计原则

设计模式七大设计原则设计模式就是一种设计方法,适用于不同场景而已要学习设计模式,首先要知道7大设计原则单一职责原则开闭原则接口隔离原则依赖倒置原则迪米特法则(最少知道原则)里氏替换原则组合优于继承原则1. 单一职责原则定义:每个方法,类,框架只做一件事。如:Math.round()只负责四舍五入;Reader类只负责读取文件;SpringMVC只负责简化MVC开发。2. 开闭原则定义:对扩展新功能开放对修改原功能关闭不能修改源代码如:Car类有一

2021-07-03 17:37:03 207

原创 两周自制脚本语言--第二天 设计程序设计语言

stone具备的语法功能整数四则运算字符串处理变量控制语句if while无需指定数据类型,类似python如果语句末尾换行,则不需要使用‘;’,类似pythoni= 1; a=2;或者i = 1a = 2不支持return,仅支持最后一条语句就是最后保存的结果 i=1sum=0while i < 20{sum = sum + i...

2021-06-08 13:46:43 502 1

原创 两周自制脚本语言--第一天 概述

语言处理器结构

2021-06-08 13:09:44 141

原创 计算机网络构成要素

计算机网络构成要素网卡:让计算机联网的设备中继器:物理层延长网络设备网桥(2层交换机):数据链路层延长网络的设备路由器(3层交换机):通过网络层转发分组的设备4-7层交换机:处理传输层以上各层网络传输的设备网关:转换协议的设备1—网卡2—中继器电缆传来的电信号或者光信号,由中继器放大在传给另一个线缆。因为信号长距离传输会变弱失真。集线器就是有很多端口的中继器,每个端口都是一个中继器。3—网桥(2层交换机)识别数据链路层中的数据帧,临时存储下来,重新生成新的数据帧发送出去。

2021-06-01 10:36:02 584 4

原创 OSI七层参考模型

OSI七层参考模型1. 应用层针对特定应用的协议。如电子邮件 SMTP;文件传输 FTP2. 表示层设备固有数据格式和网络标准数据格式转换。3. 会话层通信管理,负责建立和断开通信连接。4. 传输层负责可靠数据传输。管理2个节点之间的数据传输,而无需在路由器上处理。5. 网络层地址管理和路由选择。将数据传输到目标地址,该地址可以是多个网络通过路由器连接而形成的一个地址。6. 数据链路层传送和识别数据帧,把0-1序列划分成有意义的数据帧传输。7.

2021-05-28 13:07:55 62

原创 CPU寻址方式--8086为例

CPU寻址方式--8086为例首先说明cpu为啥要段基址+段内偏移地址寻址,因为8086地址线20位,所以地址范围=2^20 = 1MB,但是8086寄存器都是16位的,所以用寄存器寻址的话,只能寻2^16 < 2^20,也就是有一部分地址寻不到,所以使用段基址<<<4+段内偏移地址,这样结果就是可以寻址全部地址。入正题,CPU寻址方式大致分为3种,分别是寄存器寻址“数”在寄存器中,直接从寄存器中拿数据。mov ax,0x10mov dx,0x9mov a

2021-05-27 14:57:42 1426

原创 (超详细)零基础如何学习操作系统---操作系统书籍推荐

直接先给出路线书籍编码 隐匿在计算机软硬件背后的语言汇编语言x86从实模式到保护模式操作系统导论操作系统真象还原查漏补缺1.编码 隐匿在计算机软硬件背后的语言对于完全不懂计算机的朋友,这本书可以让你对计算机有一个简单认识,计算机无非就是计算数据的,一定记住,计算机中啥都是二进制数据 ----> 啥都是高低电信号对于懂计算机知识的朋友,这本书也可以让你知道CPU是怎么通过硬件进行数据运算的总之强烈推荐看!!!2.汇编语言(第三版第四版都行);...

2021-05-26 17:05:43 6498 1

原创 (亲测可以)ubuntu安装bochs---操作系统真象还原

ubuntu安装bochs

2021-05-26 16:21:03 4056 2

原创 如何用继电器实现逻辑门(与或非门)- 编码隐匿在计算机软硬件背后的语言读后感

如何用继电器实现逻辑门(与或非门)- 编码隐匿在计算机软硬件背后的语言读后感首先了解一下继电器,说起继电器就不得聊一下电报机。(想直接了解如何实现逻辑门的直接往下翻,不过还是推荐看一下为什么会产生逻辑门,加深印象)摩尔斯(发明摩尔斯密码的人)在1836年通知专利局,他发明了电报机。如下图所示左边按下去就会导通电路,右边的线圈就会产生磁场(电磁感应现象),右边上面横着的磁体就会向下拉动,左边按键松开,电路不导通,右边的磁体复位并发出击打的声音(滴答,我们看的抗日神剧中电报机发出的声音)。通

2021-03-29 11:59:32 3547

原创 IEEE754为什么单精度浮点数的偏置常数用127而不是128,126等等

为什么单精度浮点数的偏置常数用127而不是128以单精度浮点数为例,双精度同理首先需要知道为啥需要偏置常数bias,如果不知道,请看后面(https://blog.csdn.net/weixin_43891234/article/details/114692825)float中 bias = 2^(k-1) - 1,k为阶码的个数=8 ,所以bias = 127此时 E = e - bias(e是无符号的原码)= (0000 0001,1111 1110)- 127= (1-127,

2021-03-12 13:46:15 7254 15

空空如也

空空如也

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

TA关注的人

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