自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【刷题日记】和为 K 的子数组

给定一个整数数组和一个整数 k ,请找到该数组中和为 k 的连续子数组的个数。前缀和+哈希表

2022-06-22 11:00:53 323 1

原创 【刷题日记】乘积小于K的子数组

给定一个正整数数组 和整数 k ,请找出该数组内乘积小于 k 的连续的子数组的个数。思路一:前缀和+二分;思路二:滑动窗口题目所求为 乘积小于k的子数组,遍历每个数字 ,枚举区间左端点 ,找最小边界 ,满足:注意:因为涉及到对数,因此 数组使用 类型条件: 对每个区间左端点 ,找到的边界 ,则以下区间均满足条件:共 个区间时间复杂度:空间复杂度:双指针 【统计子区间】代码:时间复杂度:...

2022-06-20 11:39:53 240

原创 【刷题日记】和大于等于target的最短子数组

给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 的长度最小的 连续子数组,并返回其长度。如果不存在符合条件的子数组,返回 0 。思路一:前缀和+二分;思路二:滑动窗口...

2022-06-19 16:33:54 430

原创 【刷题日记】单词长度的最大乘积

给定一个字符串数组 words,请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时,它们长度的乘积的最大值。假设字符串中只包含英语的小写字母。如果没有不包含相同字符的一对字符串,返回 0。位运算题解...

2022-06-16 10:42:20 129

原创 【刷题日记】前n个数字二进制中1的个数

题目:给定一个非负整数 n ,请计算 0 到 n 之间的每个数字的二进制表示中 1 的个数,并输出一个数组。四种思路总结

2022-06-14 15:46:15 322

原创 线程同步之经典模型 —— 生产者消费者模型

生产者-消费者模型1、条件变量条件变量是线程之间的一种通知机制,当某个共享数据达到某个条件时,唤醒等待这个条件的线程。通过线程间共享的全局变量进行同步一个线程等待 “条件变量条件成立” 而阻塞另一个线程使 “条件成立”使用时总是和互斥锁结合在一起基础APIpthread_cond_init函数,用于初始化条件变量pthread_cond_destory函数,销毁条件变量pthread_cond_broadcast函数,以广播的方式唤醒所有等待目标条件变量的线程pthread_co

2022-04-09 11:56:42 656

原创 【设计模式】C++实现单例模式

最简单设计模式单例模式的概述和多种C++实现方式

2022-04-08 15:21:15 1074

原创 【Linux】目录遍历函数

目录遍历函数查看说明文档man 3 opendir/readdir/closedir1.1 opendir 函数#include <sys/types.h>#include <dirent.h>DIR *opendir(const char *name);作用:打开一个目录参数:name:需要打开的目录名称返回值:DIR * 类型:理解为目录流信息错误返回NULLDESCRIPTIONThe opendir() function

2022-03-24 22:31:55 1019

原创 【Linux】目录操作函数

目录操作函数1.1 mkdir 函数打开说明文档man mkdir # 打开第一章shell命令mkdir的说明man 2 mkdir # 打开第二章Linux系统函数mkdir的说明作用:创建一个目录参数:pathname:创建的目录的路径mode:权限,八进制的数返回值:成功返回0,失败返回-1#include <sys/stat.h>#include <sys/types.h>#include <stdio.h>int ma

2022-03-24 22:29:25 699

原创 【Linux】文件属性操作函数

文件属性操作函数1.1 access函数#include <unistd.h>int access(const char *pathname, int mode);作用:判断某个文件是否有某个权限,或者某个文件是否存在参数:pathname:要判断的文件路径mode:R_OK:判断是否有读权限W_OK:判断是否有写权限X_OK:判断是否有执行权限F_OK:判断文件是否存在返回值:成功返回0,失败返回-1例:access.c 文件(提前创建了a.txt

2022-03-24 22:27:11 322

原创 【Linux】stat 函数模拟实现 ls -l 命令

【stat 案例】模拟实现 ls -l 命令1.1 ls -l 命令ls -l 文件名 查看某个特定文件信息fuerer@fuerer-virtual-machine:~/Linux/lesson12$ ls -l a.txt-rw-rw-r-- 1 fuerer fuerer 12 3月 24 15:35 a.txt【目标】实现一个程序 app ,使用 ./app 文件名 就可以实现查看文件信息文件信息:-rw-rw-r-- 1 fuerer fuerer 12 3月 24 15:35

2022-03-24 22:23:34 1322 1

原创 【Linux系统】stat、lstat函数

Linux系统—stat、lstat函数#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>int stat(const char *pathname, struct stat *statbuf); int lstat(const char *pathname, struct stat *statbuf);1.1 stat 函数#include <sys/types.h

2022-03-24 22:20:09 1385

原创 【Linux系统IO函数】lseek函数

Linux系统IO函数—lseek函数1.1 lseek函数与标准C库的fseek函数lseek函数对应标准C库中的fseek函数查看标准C库中的fseek函数使用说明:(shell输入)man 3 fseekfseek函数:#include <stdio.h>int fseek(FILE *stream, long offset, int whence);查看Linux系统的lseek函数使用说明:man 2 lseeklseek函数:#include <s

2022-03-24 22:17:35 1900

原创 【Linux系统IO函数】read、write函数及实现文件拷贝

Linux系统—read、write函数ssize_t read(int fd, void *buf, size_t count);//将文件中的数据读入内存ssize_t write(int fd, const void *buf, size_t count);//把内存中的数据写入到文件里实现文件拷贝:1.1 read函数输入以下命令查看函数帮助文档:man 2 read/write#include <unistd.h>ssize_t read(int fd, v

2022-03-24 10:48:44 6025

原创 【Linux】Makefile工具的使用入门

01 什么是MakeFile02 MakeFile文件命名和规则03 MakeFile的工作原理检查规则中的依赖是否存在检查更新04 变量05 模式匹配使用模式匹配简化生成依赖的规则06 函数1)函数wildcard获取指定目录下指定类型的文件列表2)函数patsubst将符合匹配模式的字符串替换为目标字符串07 make执行指定规则声明指定目标为伪目标:.PHONY:规则名 参考课程:牛客网Linux服务器编程...

2022-03-22 22:32:17 336

原创 【刷题笔记】单链表的排序

题目描述给定一个节点数为n的无序单链表,对其按升序排序。数据范围:0<n≤10000000<n≤10000000<n≤1000000要求:空间复杂度 O(n)O(n)O(n),时间复杂度 O(nlogn)O(nlogn)O(nlogn)示例示例1:输入:[1,3,2,4,5]返回值:{1,2,3,4,5}示例2:输入:[-1,0,-2]返回值:{-2,-1,0}思路1:使用STL和sort函数值排序遍历链表,将每个结点的值存储到 vectorvectorve

2022-03-21 12:17:35 759

原创 【c++ STL】SGI STL版本sort函数的实现

STL sort函数原理以及实现

2022-03-21 10:27:19 1887

原创 【刷题笔记】判断字符是否唯一

题目描述实现一个算法,确定一个字符串 s 的所有字符是否全都不同。示例1:输入: s = "leetcode"输出: false 示例2:输入: s = "abc"输出: true限制:0<=len(s)<=1000 <= len(s) <= 1000<=len(s)<=100不使用额外数据结构思路不使用额外数据结构,以下解法不可取:set存储出现过的字符二重循环遍历【位运算】题中示例仅出现小写字母’a’~‘z’,开辟26个空间

2022-03-20 16:15:26 1315

转载 【转载】安装VMWare Tools后仍不能实现Windows和虚拟机之间文件拖拽问题解决

前言:因为需要在Win和虚拟机来回复制粘贴内容,比如说代码类似的,所以按照网上的许多方法,什么在虚拟机设置里边设置、安装VMWare—Tools都试过了,还是不能成功,挣扎了许久,发现可能是VMWare—Tools工具版本的问题,所以试着先卸载然后再安装新的,安装成功后发现是可以进复制粘贴的,大功告成! 1 . 机器环境:Ubuntu18.04+VMWare 2 . 卸载之前安装好的环境: (1) . 卸载VMWare—To...

2022-03-14 14:58:47 2705 2

原创 【1月学习进度1/31——论文阅读01】“Attention is All You Need”——Transformer模型

论文:Attention is All You Need视频详解Transformer模型(以下截图大部分来自于该视频)论文逐段精度视频0. 引言1)为了解决什么任务Transformer是为了解决机器翻译(machine translation tasks)任务提出的一种序列转录模型(sequence transduction model),序列转录即由序列1生成序列2。2)序列建模与序列转录问题的研究状况在Transformer提出之前的主流模型大都基于复杂循环或“编码-解码”结构

2022-01-04 17:53:46 970 2

原创 【12月学习进度13/31——算法竞赛打卡】飞行员兄弟

飞行员兄弟“飞行员兄弟”这个游戏,需要玩家顺利的打开一个拥有 161616 个把手的冰箱。已知每个把手可以处于以下两种状态之一:打开或关闭。只有当所有把手都打开时,冰箱才会打开。把手可以表示为一个 4×44×44×4 的矩阵,您可以改变任何一个位置 [i,j][i,j][i,j] 上把手的状态。但是,这也会使得第 iii 行和第 jjj 列上的所有把手的状态也随着改变。请你求出打开冰箱所需的切换把手的次数最小值是多少。输入格式输入一共包含四行,每行包含四个把手的初始状态。符号 +++ 表示把手处于

2021-12-29 12:39:27 121

转载 【12月学习进度12/31——特征提取】离散KL变换原理、实例以及matlab实现(转载)

转载自:离散KL变换原理、实例以及matlab实现从n维特征中选取m维特征,如何在信息损失最小的情况下选取特征(因为必然会删去n-m维特征),使得剩下的特征更加有利于分类,离散K-L变换(Karhunen-Loeve变换)就是常用的方法。引入设一个输入向量 xxx 。K-L变换的目的就是对原向量进行变换,组成新向量 yyy。该新向量的特征数比 xxx 少,各特征间不相关,因此关键就是要找到这样的变换矩阵。优缺点优点:变换在均方误差最小的情况下使新样本集逼近原样本集分布,既压缩了维数又保留了类别

2021-12-15 16:34:30 2959

原创 【12月学习进度11/31——高等数学】从微分的发展史看微分的本质

学习参考:微分、导数、积分,这三者之间,有没有联系?(以下学习内容和截图全部来自于以上链接) 0. 矛盾问题引入dxdxdx 为什么需要为0时为0(可以当做0消除),不需要为0时不为0(不当做0进行约分)?1. 微分的本质微分本质是一个微小的线性变化量,是用一个线性函数作为原函数变化的逼近(或者近似)。我们定义 dy=f′(x)△xdy=f'(x)△xdy=f′(x)△x△y△y△y 是原函数的变化,则 dydydy 就是对函数值变化的逼近由 dy=f′(x)△xdy=f'(x)△

2021-12-13 17:31:47 3186

原创 【12月学习进度10/31 —— 高等数学】泰勒公式的两种通俗理解方式

本文介绍了两种泰勒公式的通俗理解方式

2021-12-10 20:35:44 1646

原创 【12月学习进度9/31——计算机图形学期末准备06】四阶三次B样条曲线矩阵形式推导及MATLAB实现

本文主要概述了四阶三次B样条曲线矩阵形式的推导过程,并用MATLAB实现随机参数四阶B样条曲线的绘制

2021-12-09 21:48:47 3483 4

原创 【12月学习进度8/31——计算机图形学期末准备05】B样条曲线和基函数的性质

本文总结了B样条基函数、B样条曲线的主要性质,简要介绍了B样条曲线的4种类型

2021-12-08 15:41:37 1258

原创 【12月学习进度7/31——计算机图形学期末准备04】B样条曲线及其基函数的定义

本文总结了B样条曲线的产生背景,通过B样条曲线与Bezier曲线的对比分析,来帮助理解B样条基函数的定义,以及其定义区间、节点向量等相关概念。

2021-12-07 21:40:40 2331 2

原创 【12月学习进度6/31——计算机图形学期末准备03】Bezier曲线及MATLAB实现

Bezier曲线原理简介(如何画,性质,代数形式,矩阵形式)以及MATLAB实现

2021-12-06 21:20:15 854

原创 【12月学习进度5/31——计算机图形学期末准备02】规范化两点三次Hermite插值及MATLAB实现

规范化三次Hermite插值多项式的推导过程及其matlab实现

2021-12-06 15:43:40 991

原创 【12月学习进度4/31——计算机图形学】拉格朗日插值的MATLAB实现

lagrange插值的MATLAB实现

2021-12-04 16:51:33 1847

原创 【12月学习进度3/31—计算机图形学期末准备01】拉格朗日插值 + 三次Hermite插值

拉格朗日插值和三次Hermite插值简介及应用,针对期末考试的学习准备

2021-12-04 11:43:06 2025

原创 【12月学习进度2/31—算法竞赛打卡】赶牛入圈

赶牛入圈农夫约翰希望为他的奶牛们建立一个畜栏。这些挑剔的畜生要求畜栏必须是正方形的,而且至少要包含C单位的三叶草,来当做它们的下午茶。畜栏的边缘必须与 X,Y轴平行。约翰的土地里一共包含 N单位的三叶草,每单位三叶草位于一个 1×1 的土地区域内,区域位置由其左下角坐标表示,并且区域左下角的 X,Y 坐标都为整数,范围在 1 到 10000以内。多个单位的三叶草可能会位于同一个 1×1的区域内,因为这个原因,在接下来的输入中,同一个区域坐标可能出现多次。只有一个区域完全位于修好的畜栏之中,才认为

2021-12-02 16:15:55 267

原创 【12月学习进度1/31—算法竞赛打卡】Best cattle fence

最佳牛围栏题解

2021-12-01 17:16:23 980

原创 【机器学习】Introduction

Introduction机器学习定义机器学习两大算法监督学习回归问题监督学习,所给的数据集中包含“正确答案”,即期望算法能给出正确答案。分类问题无监督学习无监督学习与监督学习不同之处:监督学习,数据集中含有“正确答案”,而无监督学习没有正确答案监督学习中明确数据类型,不同数据类型不同标号;非监督学习事先不知道数据的类型,都是用同一种标号聚类算法鸡尾酒会算法下期再见~...

2021-05-28 21:50:56 107

原创 直捣黄龙 【学习进度条6】

L3:直捣黄龙【题目】【代码解释】【可粘贴代码】有略微改动#include<bits/stdc++.h>using namespace std;const int N=210;int scnt[N];//到每个城镇的最短路数量int node[N];//到每个城镇最短路的结点个数 int e[N][N];//城镇道路int csnum[N];//城镇敌军数量int enm[N];//到每个城镇最短路经过的最多敌人 map<string,i

2021-03-16 22:10:33 378

原创 是否完全二叉搜索树 【学习进度条6】

L3:是否完全二叉搜索树题目【可粘贴代码】#include<iostream>#include<cstring>using namespace std;const int N=100;int main(){ int n; scanf("%d",&n); int a[N]; memset(a,-1,sizeof(a));//-1表示空 for(int i=1;i<=n;i++){ int num; scanf("%d",

2021-03-16 21:57:46 100

原创 B. Berland Crossword 【学习进度条5】

B. Berland Crossword参考博客:B. Berland Crossword(思维+枚举)原题目题目大意在一个n∗nn * nn∗n的全白网格中,把题目输入的uuu,rrr,ddd,lll分别作为对第一行,最右列,最后一行,最左列的上色个数,问是否有这样的上色方案(存在即可)。样例我之前做的思路是按照4个个数,尽可能的把顶点处填上,然后再判断剩余个数是否足够,但test 2过不去,也不知道是哪里的错误。之前有错的思路而后看了大佬的做法,直接枚举,简洁正确。正确枚举思路

2021-03-10 16:19:29 174

原创 至多删三个字符 (30 分)【学习进度条4】

L3 :至多删三个字符 (30 分)参考链接:超详细解释Tag:#动态规划刚开始用的vector和set,后面几个测试,内存都超限了,参考网上思路,采用动态规划。动态规划小白一枚,目前还仅能看懂答案,距离自己想出来还是有些遥远。题目描述给定一个全部由小写英文字母组成的字符串,允许你至多删掉其中 3 个字符,结果可能有多少种不同的字符串?输入格式:输入在一行中给出全部由小写英文字母组成的、长度在区间 [4, 10​6​​] 内的字符串。输出格式:在一行中输出至多删掉其中 3 个字符后不同字符

2021-03-09 09:30:30 315

原创 C. Maximum width 【学习进度条3】

C. Maximum width题目参考链接:借鉴题解链接【代码】#include<iostream> using namespace std;int main(){ int n,m; string s,t; scanf("%d%d",&n,&m); cin>>s>>t; int qian[m]; int hou[m]; int index=-1; for(int i=0;i<m;i++){ while(s[++

2021-03-06 15:49:33 101

原创 F. Equalize the Array【学习进度条2】

F. Equalize the ArrayTag:#map #思维参考:F. Equalize the Array (map、思维)因为只是用上一次结果的次数和个数,所以不需要每个次数都遍历,即达到了节省时间,提高效率,时间复杂度由O(n^2)降到O(n)。【供粘贴代码】#include<iostream>#include<map>using namespace std;int main(){ int t; scanf("%d",&t);

2021-03-04 17:00:49 133 1

空空如也

空空如也

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

TA关注的人

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