自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (5)
  • 问答 (1)
  • 收藏
  • 关注

原创 LeetCode Hot100 C++ 哈希 49.字母异位词分组

对于strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],怎么排序的?输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]键 “aet” 对应的字母异位词组为:[“eat”, “tea”, “ate”]键 “ant” 对应的字母异位词组为:[“tan”, “nat”]对于 “eat”,排序后得到 “aet”

2024-09-23 12:27:53 267

原创 LeetCode Hot100 C++ 哈希 1.两数之和

nums[i] 是键,i 是值, hmap[nums[i]] = i;的意思是:将 nums[i] 作为键,将 i 作为与该键关联的值。给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。

2024-09-23 12:25:45 232

原创 QT定时器QObiect/QTimer

创建一个QTimer,使用start ()来开始并且把它的timeout ()连接到适当的槽。当这段时间过去了,它将会发射timeout()信号。检查事件的定时器 ID 是否与 myTimerId 匹配。更新 picID,循环显示 1.jpg 到 5.jpg。加载并显示第一张图片 1.jpg 到 label 上。QTimer类提供了定时器信号和单触发定时器。启动定时器,间隔由 TIMEOUT 决定。保存定时器 ID 到 myTimerId。电子相册,利用定时器轮播图片。停止定时器,停止图片轮播。

2024-09-07 20:18:28 225

原创 QT学习之计算器

如果当前操作符的优先级小于等于s_opt栈顶操作符的优先级,或者遇到右括号且s_opt栈顶不是左括号,或者表达式遍历结束且s_opt栈不为空,则从s_opt栈中弹出一个操作符进行计算。首先判断s_opt栈是否为空,或者当前操作符的优先级高于s_opt栈顶操作符的优先级,或者遇到左括号 “ ( ” 且当前字符不是右括号 “ ) ”。如果遇到右括号 “)”,则不断从s_opt栈中弹出操作符并进行相应计算,直到遇到左括号 “(”,然后将左括号从s_opt栈中弹出。根据不同的操作符返回不同的优先级值。

2024-09-06 21:20:08 917

原创 五子棋理解C++思想

例如,当k = 0时,表示水平向右的方向,每次循环会将当前位置的横坐标增加 1(即nowj += dx[k]和nowi += dy[k]变为nowj += 1和nowi += 0),以检查水平方向上是否有连续相同颜色的棋子。在搜索过程中,通过不断更新当前位置的坐标nowi和nowj,使用nowi += dy[k]和nowj += dx[k]来沿着特定方向前进,从而检查该方向上的棋子颜色是否相同。通过遍历棋盘上的每个位置,对于非空位置,尝试在四个方向上进行延伸搜索,以判断是否有连续五个相同颜色的棋子。

2024-08-24 22:40:07 383

原创 C语言速览之指针基础

内存单元的指针和内存单元的内容是两个不同的概念地址 = 指针内容 = 数据。

2024-08-17 10:29:27 927

原创 C++速览之I/O操作

在针对I/O操作时,标准库提供一组操作符(manipulator),允许程序堆输出的内容进行格式化,比如:输出数字的十六进制、浮点值的精度等。c++ 对浮点数的输出默认只会输出六位 ,那么在应对较多浮点数的时候,则常常会丢失精度,导致后面的小数位无法输出。在c/c++中,在对bool类型的数据做输出的时候,打印的是 0 、1 ,如果希望看到的是 true 和 false ,那么可以使用 boolalpha 操作符。此外,还要考虑输入错误的处理,例如输入不合法的值或输入结束时的处理。

2024-08-17 10:27:10 407

原创 C++速览之运算符重载

一般来说,可以使用对象来访问类中的成员函数,而对象本身是不能像函数一样被调用的,除非在类中重载了调用运算符。运算符 ,那么可以声明一个函数为 operator+() ,函数声明的位置可以是类的内部,也可以是类的外部,所以又有了成员函数和全局函数的划分。并不是所有的运算符重载都能定义在类中,比如,需要扩展一些已有的类,对它进行运算符重载,而这些类已经被打成了一个库来使用,此时通过全局函数的方式来实现运算符重载。把重载的运算符函数定义在类中,此时只需要接收一个参数,因为类的对象本身作为+ 的前面调用者。

2024-08-16 15:57:55 225

原创 C++速览之智能指针

c++ 把内存的控制权对程序员开放,让程序显式的控制内存,这样能够快速的定位到占用的内存,完成释放的工作。shared_ptr : 允许多个智能指针共享同一块内存,由于并不是唯一指针,所以为了保证最后的释放回收,采用了计数处理,每一次的指向计数 + 1 , 每一次的reset会导致计数 -1 ,直到最终为0 ,内存才会最终被释放掉。下面的例子就是,这是因为f和s内部的智能指针互相指向了对方,导致自己的引用计数一直为1,所以没有进行析构,这就造成了内存泄漏。智能指针的用法和原始指针用法一样,只是它。

2024-08-16 15:56:52 392

原创 C++速览之命名空间(名字空间)

science::physics 命名空间嵌套在 science命名空间内部,其中定义了一个 calculateForce 函数,用于计算力的大小。我们演示了如何在不同的命名空间中定义和使用函数,并通过嵌套命名空间来组织相关的功能。使用 using namespace 声明可以将整个命名空间引入到当前作用域中,使其中的实体可以直接使用,而无需在名称前添加命名空间的限定符。使用 namespace_name::entity_name 语法可以限定命名空间中的特定实体,以便只使用该实体而不引入整个命名空间。

2024-08-15 10:09:43 521

原创 C++速览之异常处理

如果没有找到匹配的 catch 块,异常会被传递给上层调用栈中的调用者,直到找到匹配的 catch 块为止。中,可以对捕获的异常进行处理。只捕获你知道如何处理的异常:在 catch 块中,只捕获你能够处理的异常类型。通过自定义异常类,你可以根据程序的需求定义不同类型的异常,并在异常处理器中针对不同类型的异常做出相应的处理。清晰地记录和报告异常:在处理异常时,清晰地记录和报告异常信息,以便进行故障排查和调试。确保资源的正确释放:在捕获和处理异常时,确保释放已分配的资源,以避免资源泄漏。块来捕获和处理异常。

2024-08-15 10:05:30 247

原创 C++速览之lambda表达式

在编写lambda表达式的时候,可以忽略参数列表和返回值类型,但是前后的捕获列表和函数体必须包含, 捕获列表的中括号不能省略,编译根据它来识别后面是否是lambda表达式 ,并且它还有一个作用是能够让lambda的函数体访问它所处作用域的成员。,如果函数中需要使用到某一个函数帮助计算并返回结果,代码又不是很多,那么lambda表达式不失为一种上佳选择。Lambda表达式允许我们在需要函数对象的地方定义和使用简短的函数,而。这是最精简的lambda表达式了,不过没有任何用处,等于一个空函数,没有函数体代码。

2024-08-14 18:17:58 311

原创 C++速览之容器 string / vector

不同的容器具有不同的特点和适用性,因此在选择容器时应根据数据访问、插入删除的需求以及空间和时间复杂度的考虑做出合理的选择。:一些容器(如std::vector和std::list)具有动态调整大小的能力,可以根据需要动态分配和释放内存,使得在运行时可以灵活地管理数据的大小。获取向量的大小、在向量末尾添加元素、迭代遍历向量、清空向量、动态调整向量的大小、排序向量中的元素。

2024-08-14 18:10:48 973

原创 C++速览之引用

悬空引用指的是引用一个已被销毁的对象或不存在的对象,这将导致未定义的行为。因此,在使用引用时要特别注意,确保引用所引用的对象的生命周期正确管理。后续的赋值操作 ref = anotherNum 不会改变引用所引用的对象,而是修改了原始对象 num 的值。通过使用引用参数,可以避免对象复制的开销,并使函数对原始对象的修改能够在函数外部可见。引用还可以作为函数的返回值,允许函数返回对其他变量的引用。引用作为函数参数传递时,函数可以修改原始对象的值,因此需要小心操作引用,确保不会意外修改原始对象。

2024-08-14 17:24:53 829

原创 C++速览之const

通过将对象声明为 const,可以明确指示其只读特性,并减少意外的修改,从而提高代码的质量和可维护性。防止意外修改:将对象声明为 const 可以防止在代码中无意中修改其值,提高代码的稳定性和可靠性。常量成员变量:在类中使用 const 声明的成员变量是类的常量成员,一旦初始化后就不能修改。声明常量:通过在变量声明前加上const关键字,可以将变量声明为常量,即其值不能被修改。:将变量声明为 const 可以防止意外的修改,提高代码的可靠性和可维护性。,即指针所指向的内存地址的值不能修改。

2024-08-13 13:38:37 464

原创 C++快速理解之泛型编程

在上述示例中,定义了一个函数模板 maximum,它接受两个类型相同的参数,并返回较大的值。它允许定义一个模板,其中的类型参数可以在使用时被实例化为具体的类型,从而创建多个具有相似结构和行为的类。在类模板中,我们使用 T* elements 定义了一个动态数组的指针,并使用 int size 定义了数组的大小。函数模板本身并不是一个具体的函数定义,而是一个通用的模板,用于生成特定类型的函数定义。通过使用泛型,可以编写通用的数据结构和算法,使其适用于不同的数据类型,从而提高代码的复用性和扩展性。

2024-08-13 13:28:29 780

原创 C++面向对象进阶之 纯虚函数、抽象类

这时 Rec 仍不能被实例化,因为它没有实现继承来的 volume() 函数,volume() 仍然是纯虚函数,所以 Rec 也仍然是抽象类。可以发现,Line 类表示“线”,没有面积和体积,但它仍然定义了 area() 和 volume() 两个纯虚函数。一个纯虚函数就可以使类成为抽象基类,但是抽象基类中除了包含纯虚函数外,还可以包含其它的成员函数(虚函数或普通函数)和成员变量。Line 是一个抽象类,也是最顶层的基类,在 Line 类中定义了两个纯虚函数 area() 和 volume()

2024-08-13 13:25:52 357

原创 C++面向对象进阶之friend 友元

一个类 A 可以将另一个类 B 声明为自己的友元,类 B 的所有成员函数就都可以访问类 A 对象的私有成员。)间接地进行,这固然能够带来数据隐藏的好处,利于将来程序的扩充,但也会增加程序书写的麻烦。友元可以看成是现实生活中的 好闺蜜 或者是 好基友。友元函数可以直接访问类中的私有成员。只能在类的成员函数内部访问,一句话:一种可以访问。权限的成员 的 方法。

2024-08-12 14:34:15 142

原创 C++面向对象进阶之final

虚函数才能被标记为final ,其他的普通函数无法标记final。是一个特殊的关键字,有2个作用。表示到此为止,不要再变动。

2024-08-12 14:30:43 123

原创 C++面向对象进阶之override

在继承关系下,子类可以重写父类的函数,但是有时候担心程序员在编写时,有可能因为粗心写错代码(不同名)。override 并不会影响程序的执行结果,仅仅是作用于编译阶段,用于检查子类是否真的重写父类函数。不过值得注意的是,override 标记的函数,必须是。防止以后这个函数变了名字,达不到重写效果。所以在C++ 11中,推出了。

2024-08-12 14:25:36 117

原创 C++面向对象进阶之/ 构造函数在继承中的注意点 / 初始化列表

在 main 函数中,创建了一个 Demo 类的对象 obj 并传递 100 给构造函数,然后调用 show 方法输出 m_a 和 m_b 的值。由于前面提到的初始化问题,m_a 的值可能不是预期的。构造函数 Demo(int b) 接受一个参数 b ,用于初始化成员变量 m_b ,并通过 m_a(m_b) 尝试初始化 m_a。,然后再执行 m_a(m_b) ,但这并不是对 m_a 的初始化操作,可能会导致未定义的行为。需要注意的是,在初始化列表中 m_a(m_b) 的这种初始化方式是不正确的。

2024-08-12 14:10:00 650

原创 C++面向对象进阶之public private protected

受保护成员的设计目的就是允许派生类访问和操作,以实现特定的继承和扩展功能,但对于 类外的其他代码 仍然是不可访问的。public 到 protected 到 private 要求越来越严格。

2024-08-12 13:28:49 176

原创 C++快速理解之多态

这种技术让 父类的指针 或 引用 具备了多种形态,这就是所谓的多态。看下面的代码,f->show()到底调用哪个类中的show函数?注意:在父类的函数上添加 virtual 关键字,可。当调用函数时,到底用哪个,要根据调用时的参数而确定。如果父类指针指向的是一个父类对象,则调用父类的函数。如果父类指针指向的是一个子类对象,则调用子类的函数。一句话:有多个相同名字的函数,当调用时,会。f->show() 调用 Father的。虽然指向子类,但他是父类型定义的指针变量。,通过父类的指针调用子类的成员函数。

2024-08-11 14:58:22 394

原创 C++快速理解之继承

除非使用了域解析运算符,才会调用父类的同名函数,子类中想要调用被覆盖的父类成员函数时,就需要使用作用域解析运算符 :: 来明确指定调用父类的版本,以避免产生歧义或错误。可以将这些类的共同成员提取出来,定义为父类,然后从父类继承,既可以节省代码,也方便后续修改成员。当你创建的新类与现有的类相似,只是多出若干成员变量或成员函数时,可以使用继承,这样不但会减少代码量,而且新类会拥有基类的所有功能。既然父类中定义了成员变量、成员函数,那么肯定就可以在子类的成员函数中进行使用,否则继承就没有意义了。

2024-08-11 14:51:50 877

原创 C++快速理解之封装

在类的内部(定义类的代码内部),无论成员被声明为 public、protected 还是 private,都是可以互相访问的,没有访问权限的限制。在类的外部(定义类的代码之外),只能通过对象或指针访问public修饰的成员,不能访问 private、protected 修饰的成员。读取成员变量的值的函数通常称为 get 函数,它们的名字通常以get开头,后跟成员变量的名字。给成员变量赋值的函数通常称为 set 函数,它们的名字通常以set开头,后跟成员变量的名字。protected:受保护的。

2024-08-10 22:26:34 175

原创 C++快速理解之面向对象

在C语言中,我们会把重复使用或具有某项功能的代码封装成一个函数,将拥有相关功能的多个函数放在一个源文件,再提供一个对应的头文件,这就是一个模块,使用模块时,引入对应的头文件就可以。类由一组相关联的函数、变量组成,你可以将一个类或多个类放在一个源文件,使用时引入对应的类就可以。public也是 C++ 的新增关键字,它只能用在类的定义中,表示类的成员变量或成员函数具有“公开”的访问权限。创建对象的过程也叫类的实例化,每个对象都是类的一个具体实例(Instance),拥有类的成员变量和成员函数。

2024-08-10 22:16:07 769

原创 Linux下使用open3d进行点云可视化(.bin文件)

KITTI范围:point_cloud_range = [0, -40, -3, 70.4, 40, 1]

2024-03-10 01:17:25 717 2

原创 DBSCAN聚类算法学习笔记

1、开始选取一点,看邻域范围内是否达到MinPts,达到就加入簇,图示标为红,没达到就判断下一个。2、如果在该点的半径范围内至少存在MinPoint点,那么认为所有这些点都属于同一个聚类。优点是DBSCAN算法不需要事先指定聚类的数量,而是通过样本密度来聚合在一起,对于。(比如自动驾驶场景下的点云,含有车、行人、骑行者等,有些目标在空间上还很靠近)及。MinPts:聚类在一起的点的最小数目,超过这一阈值才算是一个族群。核心点:邻域内数据点超过MinPts的点。噪声点:既不是核心点也不是边界点的点。

2023-12-06 21:32:32 275

原创 VNC连接服务器实现远程桌面 --以AutoDL云服务器为例

云服务器租显卡跑些小模型很方便,但是当你想做可视化的时候,可能会遇到麻烦,云服务器没有显示输出界面,无法可视化一些检测任务的结果,或者可以下载结果到本地搭建环境跑可视化推理,但是,有些项目的可视化在win下不好安装依赖包。以上启动Server时,手动设置了rfbport=6006端口,下面通过SSH隧道将实例中的6006端口代理到本地。保持输入该命令后Terminal的开启状态,关闭后会杀掉进程,导致VNC Viewer登陆失败。确认vncserver的进程已经关闭,xxxxx为进程号,替换。

2023-11-10 10:57:55 2804 22

原创 【论文阅读】以及部署BEVFusion: A Simple and Robust LiDAR-Camera Fusion Framework

将两种模态的中间特征通过内外参矩阵,拼接投影,融合出完整的特征,传递的是query,输入点云,通过一个点云网络,得到初始位置,初始位置去图像上采样特征,采样完再拼接到原始点云特征上。从点出发,从点云中采样一些点,然后根据相机的内参和外参矩阵,投影到图像上,采样到图像特征,然后拼接回点云,利用融合后的特征经过点云处理模块去做3D检测。执行训练,第一条nuimage的训练可以忽略,直接git上下载模型放好,后面三条语句依次执行就行,官方要求3090*8,所以把batchsize调为1。

2023-10-22 13:47:09 2361 12

原创 【论文阅读】Pay Attention to MLPs

研究了Transformers关键语言和视觉应用中自我注意模块的必要性。具体来说,提出了一种基于mlp的Transformers替代方案,其中没有自我注意,它只是由通道投影和静态参数化的空间投影组成。

2023-09-02 22:03:15 1342

原创 React入门 组件学习笔记

React入门 组件学习笔记

2023-08-26 21:43:31 933 1

原创 jsx 案例练习 评论区渲染

这个案例练习的是jsx的语法,map遍历列表、动态类名控制,没有功能,慢慢学

2023-08-16 22:17:01 145

原创 React入门 jsx学习笔记

概念:JSX是 JavaScript XML(HTML)的缩写,表示在 JS 代码中书写 HTML 结构作用:在React中创建HTML结构(页面UI结构)采用类似于HTML的语法,降低学习成本,会HTML就会JSX充分利用JS自身的可编程能力创建HTML结构JSX 并不是标准的 JS 语法,是 JS 的语法扩展,浏览器默认是不识别的,脚手架中内置的包,用来解析该语法,将声明式解析成命令式。

2023-08-14 22:35:49 879

原创 react入门到实战 学习笔记1 搭建

一个专注于构建用户界面的 JavaScript 库,和vue和angular并称前端三大框架1- 声明式UI(JSX)写UI就和写普通的HTML一样,抛弃命令式的繁琐实现2- 组件化组件是react中最重要的内容,组件可以通过搭积木的方式拼成一个完整的页面,通过组件的抽象可以增加复用能力和提高可维护性3- 跨平台。

2023-08-14 16:31:44 664

原创 AKStream+ZLM简单配置

port 是MySQL的端口,user id 是用户名,password是密码,Initial Catlog 是数据库名称。数据库服务器地址Data Source,本机直接用127.0.0.1,运行AKStreamWeb会自动建表。设置AKStreamweb为启动项,启动AKStreamweb,会有命令弹窗,保持不关闭。ps:GB流注册成功会自动填写设备ID、通道ID,拉流方式选择none,视屏地址不需要填。视频广场等待10秒左右,会有画面,点进去播放器,有实时画面。

2023-08-13 12:34:38 2839 4

原创 【论文阅读】Deep Instance Segmentation With Automotive Radar Detection Points

该模型是基于PointNet++的语义分割版本设计的,新引入的头部估计点向中心偏移向量(CSV)--它表示从每个检测点到其相应实例的几何中心的偏移量。2、使用余弦相似性损失和归一化内积损失的和作为稀疏雷达检测点的语义分割训练过程中的损失,以提高性能的CSV引导聚类----为上述提出的中心偏移量适配的损失,来最小化 预测CSV 和ground-truth CSV之间的距离。(b)预测头的结构,预测头为两层mlp,语义分割分支预测每个点的每个类的得分,而对于csv预测分支,预测每个点与其实例中心之间的差异。

2023-08-10 16:24:06 1489

原创 git 版本管理工具 学习笔记

git 学习笔记 github ssh-key配置 git push git pull git命令

2023-08-07 22:10:45 827

原创 OpenCV学习笔记--以车道线检测入门

车道线检测入门学习opencv--python

2023-08-05 16:31:50 1152

原创 pycharm中opencv库导入 cv2. 无函数提示跳出解决方法

找到当前解释器安装目录,找到cv2.pyd,,把cv2.pyd复制一份,放到上层文件夹下,即site-packages下;重启pycharm,就会有函数提示。

2023-08-04 13:34:56 899

C++五子棋以Easyx实现

C++五子棋以Easyx实现 双人对战易拓展多人,代码结构易于理解面向对象思想

2024-08-25

智能控制课程学习PPT

智能控制课程学习PPT 章节分别为绪论、模糊控制理论基础、模糊控制器基础、人工神经元模型、神经网络控制论、智能控制系统。包含对应pdf文件和测试题答案

2024-07-23

模糊控制设计原理清晰简洁pdf

模糊控制器、模糊化、模糊规则、清晰化 以模糊自动洗衣机设计为例子进行说明 模糊控制设计原理清晰简洁pdf

2023-12-20

OpenPCDet代码分析与注释

OpenPCDet代码分析与注释:PointPillar和Second的分析,先看README.md

2023-12-01

2022年华为杯中国研究生数学建模竞赛E题第(3)问建立放牧策略对土壤化学性质影响模型matlab可运行代码+论文

2022年华为杯中国研究生数学建模竞赛E题第(3)问建立不同放牧策略(放牧方式和放牧强度)对锡林郭勒草原土壤化学性质影响的数学模型 matlab可运行代码+论文叙述word、pdf 问题3.从机理分析的角度,建立不同放牧策略(放牧方式和放牧强度)对锡林郭勒草原土壤化学性质影响的数学模型。并请结合附件14中数据预测锡林郭勒草原监测样地(12个放牧小区)在不同放牧强度下2022年土壤同期有机碳、无机碳、全N、土壤C/N比等值,并完成下表

2023-11-22

深度学习500问.zip

深度学习500问pdf资料:包括机器学习基础,深度学习基础,CNN,RNN,目标检测,图像分割,强化学习,迁移学习,优化算法,超参数调整等章节

2023-07-20

基于ASP.NET设计的简易宿舍管理webform项目

极简项目,含作业报告,SQL server数据库脚本

2021-12-29

51单片机万年历(keil+proteus 8.6).zip (时间调整+温度日期星期显示+实验报告)

一个基于51单片机的带温度显示的万年历,系统由51单片机、LM1602液晶屏、温度传感器18B20,蜂鸣器、按键组成,可显示日历、时间和温度值,时间和日期可以调整

2021-02-07

c#图书管理系统.zip (+实验报告+数据库脚本)

c#图书管理系统 大学课设大作业 含图书增删改查 管理员加用户两种登录方式 界面已优化 vs+SQL server

2021-02-07

测温元件DS18B20应用.doc

测温元件DS18B20应用 代码仅供参考,自行适配调整

2021-01-01

DS18B20.pdf

DS18B20手册 温度提供

2021-01-01

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

TA关注的人

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