自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 趣谈Leecode——仅含 1 的子串数(思路交流)

虽然我的字符串切割算法在本体当中没有很好的时间复杂度和空间复杂度的展现,但在某些情况下还是有必要去使用的。其次,在题目解决期间一定要考虑不必要的空间浪费问题。

2023-03-27 22:49:42 585

原创 Qt接收串口字节数据并存储

我们需要将字符串中的每一个字节剥离出来,想办法将其依次存入无符号字节数组当中。首先以16进制读取为int类型(占用4字节),将其地址赋值为(unsignedchar*)类型的pf,指针类型决定指针长度,赋值完成之后便可刚好取到checkval数据中四字节的首字节,也就是我们的真正的数据字节,再将他们依次读入无符号字节数组当中去进行存储。我们每次取出一个字节,按协议内容依次循环取出所有字节数据并拼接为字符串。拿到数据之后,我们仅需强制转换,便可以得到这些字节所对应的浮点数。...

2022-07-26 14:41:27 5511 1

原创 Qt实现PSD信号接收程序

利用窗口程序实现对PSD激光接收装置进行指令接收/发送。当成功连接装置后,能够通过设置绝对零位来校正坐标,点击信息获取后能够接收装置所发来的十六进制数据,按照设计协议对数据进行拆分,剥离出有用的数据信息后在窗口显示,并能够讲这些数据写入Excel文件当中进行保存。5.连接设备,对配置好的串口进行打开。...

2022-07-21 09:45:06 485

原创 多线程测试磁盘性能(c++语言)

要求使用c++语言,利用多线程并发来测试磁盘的读写速度。并按照一定的时率定期显示读写速度(磁盘的读写速度受到温度等各项因素影响会略有偏差)。

2022-07-18 17:10:33 1378

原创 Qt实现简单串口编辑器项目总结

首先我们要完成对串口控制窗口的GUI设计,其中共用到了PushButton,Label,GroupBox等组件。并通过栅栏布局将他们对齐。再对每一个控件进行对象名的修改,以便后期能够快速的区别他们。完成串口配置窗口的GUI设计,用户可以对端口号,波特率,数据位,停止位,校验位五个参数进行选择。在于如何将已配置好的串口参数传回至主窗口,然后对该串口进行数据的发送和控制。项目共有两个窗口(串口配置界面以及串口控制界面),其中包含一份项目配置文件,两份头文件,三份源文件以及两份窗口UI设计界面文件。...

2022-07-15 20:36:20 664

原创 初始以太坊(二)

以太坊客户端以太坊客户端是一个软件应用程序,它实现以太坊规范并通过p2p网络与其他以太坊客户端进行通信。如果不同的以太坊客户端符合参考规范和标准化通信协议,则可以进行相互操作。以太坊是一个开源项目,由“黄皮书”正式规范定义。除了各种以太坊改进提案之外,此正式规范还定义了以太坊客户端的标准行为。因为以太坊有明确的正式规范,以太网客户端有了许多独立开发的软件实现,它们之间又可以彼此交互。以太坊全节点全节点是整个主链的一个副本,存储并维护链上的所有数据,并随时验证新区块的合法性。区块链的健康和扩

2022-05-17 14:44:57 2584

原创 以太坊的基本了解

以太坊综述(Ethereum)庞大的开发者社区,目前最大的区块链开发平台相对较成熟,有代表性,资料众多以应用入手,学习曲线不那么陡峭与JavaScript结合紧密,方便开发人员上手

2022-05-16 14:46:35 997

原创 Pandas学习

Pandas掌握外部数据的读取如何快速地认识数据的概览信息数据子集的筛选与清洗数据的汇总处理数据的合并与连接

2022-05-03 20:43:04 191

原创 python基础学习网络爬虫

网络爬虫网络爬虫是按照一定的规则,自动地抓取万维网信息的程序或者脚本。借助于网络爬虫的技术,基本上可以做到所见即所得。使用到的包及函数import requestsimport reimport bs4requests.get == 基于URL,发送网络请求re.findall == 基于正则表达式,搜索目标数据bs4.BeautifulSoup == 对HTML源代码做解析,便于目标函数的拆解案例一:红牛在中国的分公司网站:http://www.redbull.com.cn/a

2022-04-26 17:37:52 131

原创 正则表达式学习

正则表达式运用场景:用于对字符串的查找,替换,分割常用的正则符号原字符指代直接存在于字符串内部的子串。# 导入第三方包import re#提取出字符串中的Python子串s1 = '通过几天Python的学习,感觉Pyhton很简单,非常容易上手!'re.findall('Python',s1)英文状态的句号点 " . "指代任意字符(如数组,字母,标点符号,汉字等),但除了换行符\n。#提取出动力总成的值s2 = ’此次新朗逸主要搭载了1.5L和1.5T两种动力总成的

2022-04-24 21:21:50 103

原创 SEMMA步骤解析

SEMMA步骤解析1.Sample(搜集数据)基于需求,有针对性的搜集可以解决问题的数据。问卷调查数据库查询实验室实验例如:影响收入的因素有哪些?如何预测收入范围等。2.Explore(数据探索)通过数据探索,以求对数据的进一步了解。常用的探索方向有:离散变量的分布比例连续变量的分布形态数据的异常和缺失例如:各变量的缺失状态?统计描述?数据分布形态?3.Modify(数据修正)数据修正,便于下一步的分析和建模。常用的修正方法有:数据类型的转换数据的一致性处理异常值

2022-04-24 19:46:28 1246

原创 Hadoop学习(一)

大数据的特点1、大量2、高速3、多样4、低价值密度(过滤无用数据,对数据进行提纯)Hadoop是什么1、Hadoop是一个由Apache基金会所开发的分布式系统基础架构2、解决海量数据存储和海量数据分析计算问题3、Hadoop通常是指一个更广泛的概念——Hadoop生态圈创始人Doug Cutting学习模仿Google解决这些问题的办法GFS-->HDFSMap-Reduce-->MRBigTable-->HBase...

2022-03-04 22:18:10 2046

原创 c语言,关于初始化函数间链表地址传递问题浅析

//结构体typedef struct node{ int elem; int index; struct node* next;}Node,* ListNode;//打印链表void print(ListNode root){ ListNode temp = root->next; while (temp) { printf("index-%d elem-%d\n", temp->index, temp->elem); temp = temp->next

2021-04-10 16:04:48 538

原创 力扣——连续的子数组和(官方解法三详解)

题目描述给定一个包含 非负数 的数组和一个目标 整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,且总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。示例 1:输入:[23,2,4,6,7], k = 6输出:True解释:[2,4] 是一个大小为 2 的子数组,并且和为 6。示例 2:输入:[23,2,6,4,7], k = 6输出:True解释:[23,2,6,4,7]是大小为 5 的子数组,并且和为 42。官方解法:(解法链接)方法 3: 使用

2020-11-19 22:24:11 399

原创 力扣——二叉树的锯齿形层次遍历思路分析

题目描述给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回锯齿形层次遍历如下:[[3],[20,9],[15,7]]思路分析:这个题目首先,就是做到如何去遍历,我用到的是dfs去遍历这棵树,然后巧妙地运用id这个标记序号,它代表了这个结点应该属于那一层,然后用它每次去和list.size去比较,小于它时

2020-11-10 11:30:44 146

原创 蓝桥杯 分巧克力(Java)

题目描述儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:1. 形状是正方形,边长是整数 2. 大小相同 例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x3的巧克力。当然小朋友们都希望得到的巧克力尽可能大,你能帮小Hi计算出最大的边长是多少么?输入第一行包含两个整数N和K。(1 <=

2020-11-08 20:14:30 699 1

原创 蓝桥杯 全球变暖(Java)

题目描述你有一张某海域NxN像素的照片,".“表示海洋、”#"表示陆地,如下所示:7….##….##……##.…####.…###.…其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。例如上图中的海域未来会变成如下样子:……………#………请你计算:依照科学家的预测,照片中有

2020-11-03 20:32:07 345

原创 力扣——朋友圈思路分析

题目描述班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个学生互为朋友关系,否则为不知道。你必须输出所有学生中的已知的朋友圈总数。示例 1:输入:[[1,1,0],[1,1,0],[0,0,1]]输出:2解释:已知学生 0 和

2020-11-01 14:33:19 462 2

原创 蓝桥杯 网络分析(java)

【问题描述】小明正在做一个网络实验。他设置了 n 台电脑,称为节点,用于收发和存储数据。初始时,所有节点都是独立的,不存在任何连接。小明可以通过网线将两个节点连接起来,连接后两个节点就可以互相通信了。两个节点如果存在网线连接,称为相邻。小明有时会测试当时的网络,他会在某个节点发送一条信息,信息会发送到每个相邻的节点,之后这些节点又会转发到自己相邻的节点,直到所有直接或间接相邻的节点都收到了信息。所有发送和接收的节点都会将信息存储下来。一条信息只存储一次。给出小明连接和测试的过程,请计算出

2020-10-13 20:13:40 354

原创 bfs的迷宫问题再探索

何为bfs遍历迷宫算法bfs就是扩散问题,在每一个点,在条件允许的情况下,依次向下,右,上,左来进行扩散,因为是广度所以设计的方向广,触角也就触及的长,当某一触角率先触及到终点时,我们就认为找到了出口,然后利用回溯思想将这条走过的路记录下来。如何完成这一过程那么如何完成这一个过程,首先我们要利用一个flag标记数组,来记录自己是否走过这条路,并逐次加一,便于后期回溯,其次,我们要利用队列来记录每次向,四周扩散的应该是哪一个点,当所有点都扩散完毕时依旧没有找到出口,证明该迷宫不存在通路(遇到通路立

2020-10-09 20:51:00 154

原创 图形化带背景乐的——“贪吃蛇”(用原生js实现)

关于贪吃蛇的实现有很多方法,我选择了使用原生js去实现。游戏的总体思路分为以下几个步骤:1.利用js动态生成四百个小棋格子,进而组成棋盘;2.利用随机数,随机的产生黑色小点(我们姑且将它称之为蛇的食物),这里要注意的是,每次对产生的食物做出判断,要是生成的小点他存在于蛇身的内部,就要对它进行重新调用,直到生成一个独立于蛇身外的随即点。3.接下来就是利用数组来存储蛇的位置,snake[0]为蛇头,snake[snake.length-1]就是蛇尾的位置。4.然后通过键盘事件,监听蛇要移动的方向,然后进

2020-08-15 15:35:56 281

原创 最大公共子序列的思路理解(java代码)

首先我们要区分公共子序列和公共子串的区别,子串一定是字符串中连续长度的串,但是子序列却并无此要求,只要按顺序出现的相同元素,就可算做相同子序列。首先给定两个字符串:“A B C B D A B"以及"B D C A B A”,在这里我们先排除掉暴力求解法来解决这个问题,我们可以将大规模的字符串给他拆分成小份的问题,我们记str1,str2分别为两个字符串,str1[i] 和 str2[j]分别代表字符串中的第i个元素和第j个元素。我们只需要在 i 和 j 分别表示字符串末尾最后一个元素时,只需判断他的

2020-08-09 16:02:30 223

原创 蓝桥杯周周练之“扫雷”

[问题描述]Have you ever played Minesweeper? It’s a cute little game which comes within a certain OperatingSystem which name we can’t really remember. Well, the goal of the game is to find where are all the mines within a M × N field. To help you, the game sh

2020-08-05 12:09:14 213

原创 力扣——亲密字符串思路分析

题目分析给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true ;否则返回 false 。示例 1:输入: A = “ab”, B = “ba”输出: true示例 2:输入: A = “ab”, B = “ab”输出: false示例 3:输入: A = “aa”, B = “aa”输出: true示例 4:输入: A = “aaaaaaabc”, B = “aaaaaaacb”输出: true示例 5:输

2020-07-30 20:00:09 178

原创 力扣——按摩师思路分析

题目描述:一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。注意:本题相对原题稍作改动示例 1:输入: [1,2,3,1]输出: 4解释: 选择 1 号预约和 3 号预约,总时长 = 1 + 3 = 4。示例 2:输入: [2,7,9,3,1]输出: 12解释: 选择 1 号预约、 3 号预约和 5 号预约,总时长 = 2 +

2020-07-21 12:13:23 292

原创 力扣——丑数思路分析

题目描述:编写一个程序判断给定的数是否为丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例 1:输入: 6输出: true解释: 6 = 2 × 3示例 2:输入: 8输出: true解释: 8 = 2 × 2 × 2示例 3:输入: 14输出: false解释: 14 不是丑数,因为它包含了另外一个质因数 7。说明:1 是丑数。输入不会超过 32 位有符号整数的范围: [−231, 231 − 1]。解题思路1:首先看到这道题,我们可以将它理解为一类体型来处理

2020-07-20 11:49:29 211

原创 力扣——有效的山脉数组思路分析

题目描述:给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:A.length >= 3在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < … A[i-1] < A[i]A[i] > A[i+1] > … > A[A.length - 1]示例 1:输入:[2,1]输出:false示例 2:输入

2020-07-16 10:26:43 229

原创 力扣——质数排列思路分析

题目描述:请你帮忙给从 1 到 n 的数设计排列方案,使得所有的「质数」都应该被放在「质数索引」(索引从 1 开始)上;你需要返回可能的方案总数。让我们一起来回顾一下「质数」:质数一定是大于 1 的,并且不能用两个小于它的正整数的乘积来表示。由于答案可能会很大,所以请你返回答案 模 mod 10^9 + 7 之后的结果即可。示例 1:输入:n = 5输出:12解释:举个例子,[1,2,5,4,3] 是一个有效的排列,但 [5,2,3,4,1] 不是,因为在第二种情况里质数 5 被错误地放在索引

2020-07-15 12:28:52 515

原创 力扣——数组中出现次数超过一半的数字思路分析

题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2限制:1 <= 数组长度 <= 50000解题思路1:对于这种寻找众数的方法,当然最先想到的会是使用数组来计数,每读到一个数,就在相应的位置去加1,最后只需找到累加数超过数组一半的值返回即可,然后我就想到了用桶排序的思想,用每一个值减去最小值作为他的记录个数位。(其实可以直

2020-07-14 11:24:44 367

原创 力扣——汉明距离思路分析

题目描述:两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。解题思路1:最最最最简单的想法,一定是先将两个数转换为二进制数,然后将他们二进制值存入数组,再遍历比较两个数组中的每一个值,若相减的绝对值不为0,就存在差异,然后给总数加一就能得到最初的结果。所遇问题1:解题思路相当清晰,代码完成度也很高,进行检验,虽然通过了测试,但是感觉效率太低,完成所用空间和时间都相当的低。 public int hammingDistance

2020-07-13 14:23:13 240

原创 力扣——数组序号转换思路分析

题目:给你一个整数数组 arr ,请你将数组中的每个元素替换为它们排序后的序号。序号代表了一个元素有多大。序号编号的规则如下:序号从 1 开始编号。一个元素越大,那么序号越大。如果两个元素相等,那么它们的序号相同。每个数字的序号都应该尽可能地小。示例 1:输入:arr = [40,10,20,30]输出:[4,1,2,3]解释:40 是最大的元素。 10 是最小的元素。 20 是第二小的数字。 30 是第三小的数字。示例 2:输入:arr = [100,100,100]输出:[1,

2020-07-10 14:19:12 640

原创 django学习之模型篇

模型ORM的理解ORM概念对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。ORM在业务逻辑层和数据库层之间充当了桥梁的作用。ORM由来让我们从O/R开始。字母O起源于"对象"(Object),而R则来自于"关系"(Relational)。几乎所有的软件开发过程中都会涉及到对象和关系数据库。在

2020-07-08 16:59:17 230

原创 django自我学习之基本流程走通(二)

七,启动服务器在前序配置工作完成之后,就可以正式开始启动我们的服务器,这是一个django提供的轻量级服务器,仅限于开发调试,在文档中我看到一句话(“我们是web框架的专家,但并非web服务器专家”)。我们可以用命令行进行启动服务器python manage.py runserver ip:port #(ip和端口可以不写,默认为本机以及8000端口)八,Admin站点管理概述:关于数据库内容的发布,以及复制增,删,改,查首先我们要配置admin应用,在setting.py中的INST

2020-07-07 12:04:47 165

原创 django自我学习之基本流程走通(一)

django基本文件作用urls.py网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。views.py处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。models.py与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。forms.py表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然

2020-07-05 17:03:23 158 2

原创 JavaScript对象枚举,类数组学习 (四)

对象枚举for in当我们遍历一个数组的时候,可以有length方法去获知数组的长度,进而设置循环上限去遍历,可是对象没有length方法,我们就只能利用for in方法去遍历:obj={ work:student, name = "xxx", sex="male", proe:123,}for (var x in obj){ console.log(x);}程序的结果会是依次输出work,name,sex,proe;当我们想要依次获取属性值的时候,最先想到的一定会是:for (

2020-05-22 10:32:52 812 1

原创 JavaScript对象,包装类,原型,原型链及call/apply的知识学习(三)

对象学习包装类的前提一定是建立在,了解对象及使用的,简单来说,一个对象包含属性和方法,它形似于函数,但通过new的方式来创建他的实例,对象可以定义为空,当创建他的实例之后再通过.调用的方法创建实例对象的属性以及方法。function Person() { }var person = new Person();person.name = "xxx";person.work = function () { console.log("i am working!");}通常我们用this关键字来

2020-05-19 18:03:15 202

原创 JavaScript预编译,作用域,闭包基础学习(二)

预编译虽然JavaScript作为一款单线程,解释性的语言,但他也具备预编译的过程,在预编译期间,会提升相关的声明,和检查一些基础的语法错误。首先我们需要理解一些知识点,才能更好的理解预编译。未加声明的变量使用,相当于定义在全局变量(即便在函数中使用) b = 100 //相当于定义全局变量 var b = 100函数预编译我们先从函数预编译讲起,预编译发生在函数即将开始之前,他会做如下几个步骤,来调解我们的重名定义。创建AO对象,即Activation Object(作用域上下文)找函

2020-05-18 17:35:46 158

原创 JavaScript简史,浏览器(js引擎)相关知识及部分基础(一)

了解Javascript简史发源于1996年由brendan Eich,首次诞生于浏览器,原名为LiveScript,后因与sun公司合作,需市场宣传,改名为JavaScript,后期版权归Oracle所有。了解浏览器浏览器主要分为shell部分和内核部分。shell主要负责浏览器外观设置及操控,一些表层东西的实现。内核内核又分为渲染引擎 js引擎,主要是html,css,js的渲染和实现,是浏览器所具备的最重要的一部分,只有拥有独立内核的浏览器才称之为主流浏览器,中国几乎所有的浏览器都不具备

2020-05-18 11:12:42 377

原创 css3新属性学习

box-size:width这样就可以让我们不必要再去计算盒子增减内边距后有没有撑开什么的,因为无论内边距如何变化,盒子的大小始终只会等于width。filter:blur(5px)照片滤镜,css3为我们增加了滤镜效果,当括号中的数值越大,则图片越模糊。width:calc(100%-30px)可以自动计算盒子的宽高,根据外界的变化而动态变化自身大小,可以利用于相应式的效果制作。cs...

2020-04-28 22:31:19 273

原创 css的九大常用选择器学习

标签选择器,类选择器,id选择器css当中最基础的三种选择器。标签选择器简单明了,就是通过直接搜索标签名对所有该类标签进行样式渲染;类选择器在标签中申明class并定义值,在css当中通过“ .xxx”来组合寻找并渲染;id选择器在标签中申明class并定义值,在css当中通过“ #xxx ”来组合寻找并渲染。复合选择器常用代码中最常见的一种选择器,通过对三种基础选择器的组合进行更准去...

2020-04-28 20:55:28 380

空空如也

空空如也

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

TA关注的人

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