自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAC拉科技上课了

1111。

2023-09-08 19:58:45 91

原创 瑞利信道下BPSK的误码率

瑞利信道条件下BPSK的误码率通信系统sss为随机产生的信号,为0或者1调制后的信号为xxx,0映射为−Eb-\sqrt{E_b}−Eb​​,1映射为+Eb+\sqrt{E_b}+Eb​​高斯白噪声为nnn,满足均值为0,方差为σ2=N02\sigma^2=\frac{N0}{2}σ2=2N0​的高斯分布收到的信号y=hx+ny=hx+ny=hx+n,h用于描述信道,这里的信道是瑞利信道,固h有实部和虚部,且实部和虚部是独立同分布的高斯变量,均值为0,方差为12\frac{1}{2}21​(这

2022-04-09 11:23:31 2215

原创 如何理解java中的record类

如何理解java中的record类背景java14才出来的record,类似于enum,定义了一种特殊的类。用于标记不可变的数据类。正常写法定义一个用户类,一般会这么定义//User.classpublic class User { private String name = null; private String password = null; public User(String name, String password) { this.na

2022-04-04 17:54:26 1961

原创 Ubuntu重启后无法连接网络

1.ifconfig看一下发现没有ensxx之类的东西2.ifconfig -a发现多了个ens38(你可能是别的)3.sudo dhclient ens38收工

2022-01-26 13:02:08 1141

原创 实现Hash表(五)----换一种方式实现hash表

实现Hash表(五)----换一种方式实现hash表配合前置文章食用更佳,传送门如下:问题描述之前文章中讲到的hash算法实现很复杂,我们可以换其他方式来实现hash表,来降低其复杂度。一种和链表结合的实现方式其实就是另一种get_valid_index映射算法不同的算法主要是在第一映射为index时和处理冲突时不同创建一个list,每个节点用于存储链表头根据key求得index第一种情况:对应的index为空—直接插入第二种情况:对应的index已经有值(注意这是链表头

2021-12-26 21:14:07 156

原创 实现Hash表(四)----完成hash表中的删除操作

实现Hash表(四)----完成hash表中的删除操作配合前置文章食用更佳,传送门如下:问题描述目前增删改查我们已经完成了增、改、查,还差"删",实现是否是通过get_valid_index获取对应的index,之后将对应的数据变为None就行了呢?问题分析当然前面我都那么说了吗,答案肯定是no…为什么呢?考虑如下几个问题:1.删除了元素之后,假如只是将其置空,get_valid_index是否可以正常工作?不可以,冲突时会影响后续的搜索,考虑序列A x B none x代表该元素被删除

2021-12-26 21:11:51 343

原创 实现Hash表(三)----实现python中的字典

用hash表实现python的字典。

2021-12-26 21:10:56 398

原创 实现Hash表(二)----处理index冲突问题

实现Hash表(二)----处理index冲突问题配合前置文章食用更佳,传送门如下:问题描述在上一篇文章中,我们已经实现了自己的hash表结构,但是当两个key映射同一个value时,就会发生冲突,我们应该对冲突进行处理,使得发生冲突时也可以正常添加和删除。解决办法这里我们采用最简单的方法,实际算法可能要比这个复杂得多,但是原理是相同的解决办法:当冲突发生的时候,向后遍历,找到第一个为None的位置,返回对应的index所以在计算index的时候,会遇到如下几种情况:1. index所在位置

2021-12-26 21:10:13 412

原创 实现Hash表(一)----手写一个简单hash表

hash表的简单实现,python实现。

2021-12-26 21:09:09 329

原创 什么是格雷码,如何生成格雷码

讲解了什么是格雷码,以及如何从二进制数生成格雷码

2021-12-19 21:28:18 706

原创 Kotlin中的lateinit和lazy关键字如何理解

详细讲解了kotlin中的lateinit和lazy关键字

2021-12-09 22:12:54 1657

转载 android配置缓存

android每次下载的东西会下载到C盘,很烦,更改如下设置修改.m2路径在Settings -> Apprearance & Behavior ->Path Variables添加MAVEN_REPOSITORY变量精确到.m2下面的respository文件修改.gradle缓存文件的路径配置在idea.properties配置文件中添加一行:gradle.user.home=E:/Users/cache/.gradle(你的gradle目录)...

2021-11-27 19:51:05 72

原创 创建者模式

文章目录创建者模式(Builder)整体类图总结QA前置知识:需要了解工厂模式,如果不了解可以看我的其他博客。创建者模式(Builder)假设需要生产一辆小汽车,你可以创建一个工厂,来生产轮子、方向盘、挡风玻璃等一系列组件,在生产小汽车的代码中(也就是客户端的代码中),你需要先完成这些子组件的创造,然后再进行组装,客户端的代码会非常多。创建者模式在这个时候就起作用了,创建一个新类将组装的工作交给这个类来执行。整体类图总结将复杂的初始化进行了封装,factory可以创造product,build

2021-11-22 21:06:37 84

原创 设计模式之外观模式

文章目录外观模式一、例子二、类图三、总结所需知识点:java的基本语法,明白 接口。外观模式将几个功能合起来打包成一个功能一、例子你做了个系统,想要给别人用,别人自然会调用你的接口,但是他可能调用多个子模块,代码量会很大,所以你可以加将几个功能封装成他想要的功能提供给他。二、类图facade为接口,一方面为Client直接调用,另一方面,你可以写一个ConcreteFacade进行真正的实现,ConcreteFacade可能需要与三个子系统打交道。三、总结将功能进行封装,降低耦合度。当

2021-11-22 20:48:59 190

原创 pycharm cv2引入之后无法自动提示

将 import cv2改成import cv2.cv2 as cv2再试试 就可了

2021-11-18 20:43:02 426

原创 适配器模式(有图有例子)

文章目录一、适配器模式是什么二、例子总体框架代码普适框架总结一、适配器模式是什么一张图说明问题英文 解释作用Clinet 客户端就是使用这些方法的类,假设需要使用函数BAdapter 适配器作用就是将一种接口换成另一种,代码中的体现,你可能原本需要调用通过名字A调用某个函数,现在名字B也可以了。Adaptee 被适配者也就是函数A的拥有者总而言之,就是为了将一种方法/接口映射成为另一种方法/接口。二、例子总体框架有两个类,一个Person,一个P

2021-11-17 21:09:30 182

原创 mathtype快捷键

快速打开mathtype—crtl+alt+q (word中可用)

2021-11-16 18:41:56 122

原创 工厂模式(一)

目录工厂模式一、作用二、举例说明1.需求说明2.普通代码书写3.代码改进4.需求变更总结工厂模式程序想要可以很好的维护,各个类的功能应该尽可能的解耦,每个类有自己的职能,这样当需要对代码进行变动的时候,不会“牵一发而动全身”,工厂模式就是为了解耦而分离。一、作用将类的创建和类的使用分离,交给不同的类去执行,就是将类的创建工作交给工厂。二、举例说明1.需求说明设计需求:有一个DrinkStore类–>可以完成饮料的生产一共生产三种饮料(继承于Drink)LemonWater(柠

2021-11-15 21:47:14 332

原创 matlab全局搜索

matlab在全局进行搜索,找了半天,记录一下之后输入内容就可以搜索,下面还可以选择是在文件夹下搜索还是其他的情况,看个人情况进行选取。

2021-11-09 14:24:20 1606

原创 java文件读写

java文件IO背景知识绝对路径:就得从根目录过来的路径,例如D:\资源\编程\Java经典\电子书\Java编程基础相对路径:相对于当前的路径,.代表当前路径,..代表上一级目录。steps首先需要一个File对象方法用途Scanner(file对象)用于读取文件PrintWriter(file对象)用于对文件进行写入直接上代码import java.io.File;import java.io.PrintWriter;import java.util

2021-11-09 13:59:23 219

原创 杨辉三角java实现

杨辉三角题目描述给定一个非负的整数numRows,生成杨辉三角的钱numRows行。e.g. 输入:5输出:[1][1, 1][1, 2, 1][1, 3, 3, 1][1, 4, 6, 4, 1]分析规律:1.三角形的两边都是12.当前元素为:斜上方和上方元素之和代码public class YangHuiTriangle { public List<List<Integer>> generate(int numRows) {

2021-08-14 17:11:08 107 1

原创 用队列实现栈

用队列实现栈题目用队列实习栈的下列操作push(x) —元素x入栈pop() --移除栈顶元素top() --获取栈顶元素empty --判断返回栈是否为空你可以假设所有操作都是有效操作 (对一个空栈不可能调用pop和top方法)分析队列 先进先出栈 后进先出比较难的就是push可以先在队列中添加元素,之后将每一个队列的元素拿出来插到最后,就完成了和栈一样的效果。代码public class MyStack { //创建队列 private Queue<

2021-08-13 21:47:52 49

原创 二分查找算法

二分查找题目给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不在数组中,返回他将会被按顺序插入数组中的位置。假设数组中午重复元素。输入:[1,3,5,6],5输出:2输入:[1,3,5,6],2输出:1分析二分查找1.确定mid(就是中间的数字)2.如果arr[mid]>target,目标在左半边3.如果arr[mid]<target,目标在右半边4.注意循环退出条件–是小于等于,等于也得循环一次改进二分查找原始的二分查找,在找不到时会返回

2021-08-11 15:56:15 60

原创 翻转链表(java实现)

目录反转链表题目分析1.利用辅助空间2.迭代实现3.递归实现代码辅助代码ListNode打印工具类利用辅助空间迭代代码递归代码反转链表题目反转一个单链表输入:1->2->3->4->5->NULL输出:5->4->3->2->1->NULL分析1.利用辅助空间1.1将链表数据拷贝到动态链表中1.2动态数组内容反转1.3读取动态数组中的内容时间复杂度 O(N)空间复杂度 O(N)2.迭代实现2.1创建两个指针2.2 两个

2021-08-10 20:13:58 85

原创 合并列表算法(迭代+递归)

目录合并两个列表算法(java实现)题目分析1.迭代实现2.递归实现代码工具类代码节点代码打印工具类代码迭代法代码递归法代码合并两个列表算法(java实现)题目将两个升序链表合并成一个新的升序链表。输入:1->2->4,1->3->4输出:1->1->2->3->4->4分析1.迭代实现1.建立一个临时结点方便处理2.不断比较L1,L2的值,哪个小就放到临时结点的后面3.其中一个为空后,将不空的直接放在最后过程:List1:1-&

2021-08-10 15:04:40 234

原创 两数之和(Hash+暴力法)

两数之和算法题目给定一个整数数组nums和一个目标值target,在整数数组中找出和目标值的那两个整数,并返回他们的下标。假设每种输入只对应一个答案,同一个元素不能使用两遍。输入:nums=[2,7,11,15],target=9输出: [0,1]解释:nums[0]+nums[1]=9所以返回 [0,1]分析1.暴力法2.哈希法...

2021-08-10 11:18:03 107

原创 Android通知详解

Android通知+例子什么是个通知通知的知识一个例子结果演示代码编写activity_main.xmlMainActivity.classic_android图片什么是个通知就是每次聊qq、微信,头顶上弹出来的那个玩意,或者并夕夕告诉你什么什么减价了之类。就下面这个玩意:通知的知识API26以上之后,通知要被放在很多个channel中,每个channel中有很多个通知,用户可以选择屏蔽某一个channel,也可以选择屏蔽所有的通知。也就是先创建一个Channel,之后在里面创建通知。通

2021-08-09 22:07:42 427

原创 AsyncTask详解及简单示例

AsyncTask详解及示例总体概述使用方法总体概述众所周知,程序的执行主要是在UI线程上执行(也就是主线程),当有耗时任务的时候,例如从网络上下载文件、进行数据库查询、进行复杂的逻辑运算的时候,如果在主线程中执行,会导致主线程阻塞,APP无法响应,asynctask是Android官方提供的帮助类,可以开启个独立线程执行某个耗时任务。使用方法AsyncTask是一个抽象类,如果使用必须用别的类来继承他。主要的方法如下:方法作用线程onPreExecute()程序执行前设置

2021-08-08 22:27:01 891 2

原创 浅谈设计模式中的单例模式

1.适用场景有一些对象,全局只能需要一个,例如线程池、缓存和注册表等,如果创建了好几个对象,那就麻烦大了。在举一个在开发中的例子,例如要构建一个音乐播放器,最好全局可以只有一个播放器的对象,这样,无论在程序的任何地方,都可以完成对同一变量的访问,整个程序的播放状态是统一的。2. 如何构造(以MusicManager)需要满足:1.全局只创建1个2.随处可以访问全局只创建一个,所以首先肯定想到不能随便的new,所以第一个想法就是将构造函数私有化,所以代码看起来会是这样子:public class

2021-04-26 22:44:53 54

原创 Could not resolve all artifacts for configuration ‘:classpath‘.如何解决

第一步将这里切换成project 在android状态下什么都加载不出来第二步找见这么个文件 把里面的内容替换成如下代码:// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { repositories { maven { url 'http://maven.aliyun.com/nexus/cont

2021-02-20 16:59:00 404

原创 Android实现永久存储数据的三种方式

Android实现永久存储数据的三种方式(Kotlin实现)1.通过文件的方式1.1 适用范围一些简单的文本数据1.2 简单实例作用:实现文本框可以在重新启动之后仍然保留上一次推出时候的数据1.2.1 布局代码<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk

2020-09-14 23:51:08 1062

原创 Kotlin入门级语法 一看就懂

Kotlin基础语法(一)1.Kotlin简介Kotlin语言是由JetBrains公司开发和设计的,早在2011年,就出现了第一个版本,但是直到最近,Kotlin这么语言才火了起来,相比于传统的java开发android,Kotlin要具有明显的优势,从某种角度上来讲,kotlin与java有异曲同工之妙,都是通过一个解释器,将原本的代码,编译为class文件,之后再进行转换成计算机可以识别的二进制语言。个人理解,kotlin可以看做是对一些java代码进行了封装和简化。2.Kotlin中的变量和函

2020-08-30 22:24:50 99 1

原创 Android中Chronometer的详细介绍

Android中Chronometer的详细介绍1.关于布局 继承于TextViewChronometer继承于textview,所以textview能用的属性他都能用,下面看一个简单的计时器的例子。 <Chronometer android:id="@+id/meter" android:layout_width="wrap_content" android:layout_height="wrap_content"

2020-08-11 21:01:45 1339 1

空空如也

空空如也

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

TA关注的人

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