- 博客(103)
- 收藏
- 关注
原创 【PAT (Basic Level) Practice】——【数论】1013 数素数
可以看到下面代码的框架,需要注意思路,判定是否空格不能与上面的自增变量交换位置,因为先自增就影响到了取模的换行和空格的判断。的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。
2025-03-04 20:34:10
385
原创 【PAT (Basic Level) Practice】——【简单模拟】1002 写出这个数
的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。不要把输入当成数字,即便是long long类型也不够,当成字符串做。输入: 1234567890987654321123456789。每个测试输入包含 1 个测试用例,即给出自然数。注意最后一个字符串输出没有空格,否则会格式错误。输出: yi san wu。
2025-01-27 00:23:23
267
原创 【PAT (Basic Level) Practice】——【简单模拟】1001 害死人不偿命的(3n+1)猜想
卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3。+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数;,如果它是偶数,那么把它砍掉一半。如果它是奇数,那么把 (3。每个测试输入包含 1 个测试用例,即给出正整数。,简单地数一下,需要多少步(砍几下)才能得到。卡拉兹(Callatz)猜想:。
2025-01-27 00:21:21
282
原创 【深度学习】3.损失函数的作用
但我们不难发现,猫是负的分,狗和船是正的分,明明是一只猫,但得到的结果却是负分,继而错误的将图片判断为狗了。像素点拿到以后,进行三分类,粉红色为第一组W1,绿色为第二组W2,灰色为第三组W3,即cat,dog,ship。假设把猫这张图片分成四个像素点,分别为:56、231、24、2(实际应该是三维的,因为还有颜色通道的维度,这里简化成二维)。损失函数既能做分类,也能做回归,做的事情很多,唯一的区别就是损失函数如何定义的。对于如上图例子,第一张图片car的得分最高,将猫的图片错误的判断成了车,因此做的不好。
2025-01-20 01:36:54
1072
原创 【深度学习】2.视觉问题与得分函数
每个像素点的重要性都不一样,比如眼睛这个像素点对判断这个是猫起了促进的作用,背景这个像素点对判断这个是猫起了抑制的作用。因此深度学习需要大量的遮蔽类的数据作为依据,用来判断之后的图片是不是遮蔽的,这就是深度学习最需要的东西。k=3时,算最近的三个像素块,哪个多绿点就变成哪个,因此绿色的点属于三角。因此在设计算法时,应该注重哪里是主体,哪里是边框或者背景。有几张将车识别成了马,可以发现有些类别做的好,有些类别做的不好,所以存在问题。K=5时,范围内临近的方块变多,因此k=3与k=5结果是不一样的。
2025-01-20 00:34:39
956
原创 【深度学习】1.深度学习解决问题与应用领域
一、图像识别相关问题二、自然语言处理问题三、语音识别与合成问题一、医疗保健领域二、交通领域三、金融领域四、娱乐领域
2025-01-18 19:52:19
949
原创 【2023网易雷火服务器开发日常实习面经】
我:红黑树为了维持相对的平衡就会在插入节点时进行相应的旋转来尽量减少树的高度,但实际上相比于AVL树并没有要求绝对的平衡,正如名字一样,红黑树的节点有两种颜色即红色和黑色,如果一个节点是红色的,则它的两个孩子结点是黑色的;但由于在设计时vector内部无法知道是原地扩容还是异地扩容,那么就只能把他看成异地扩容,实现的时候必须要把扩容的偏移量记成tmp,在扩容的时候由于异地扩容指针会发生变化指向一个新的位置,那么此时的容量就通过加上tmp来得到,vector扩容机制我觉得就是这么一个过程。
2024-12-27 20:12:35
1035
原创 MySQL事务管理
事务的本质,是站在MySQL之上的,即使用者的角度。这个功能可能由多条SQL构成,在具体业务场景进行的需求转换成的多条SQL。因此,什么是事务?我们将一条或多条SQL构成的集合体,这个集合体所要完成一系列的任务,我们将这一系列的任务统称为MySQL事务。事务就是一组DML语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部失败,是一个整体。MySQL提供一种机制,保证我们达到这样的效果。事务还规定不同的客户端看到的数据是不相同的。
2023-08-06 15:56:17
797
9
原创 【解决】Unknown column ‘xxx‘ in ‘where clause‘
那我创建这张表时的SQL并没有空格啊?太难蚌了,就是空格这个**导致的。以后再也不轻易复制了。(这个小错误浪费了半个小时。这说明字段出现看错误,这是什么情况?我试了n次,将mysql重启,再重启,都不行。解决Unknown column ‘xxx‘ in ‘where clause‘好像有点奇怪,怎么感觉像是多了一个空格呢?明明就是id,哪里写错了?真的这次就不存在空格了。
2023-08-04 14:47:20
319
原创 MySQL索引特性
MySQL的服务器,本质是在内存中的,所有的数据库的CURD操作,全都是在内存中进行的,所以索引也是如此。索引的作用是提高查找的效率。组织数据的方式算法本身组织数据的方式,比如链表的结构,比较适合:增加,删除,修改,但是不适合排序;顺序表的结构比较适合数据的排序,但是不适合数据的删除;或者哈希等等。而对于索引,实际上就是将组织数据的方式,即数据结构给改变了,将其进行重构了,那搜索的效率自然也就变了,这就叫做结构决定算法。索引的本质:特定的数据结构导致搜索效率的改变。
2023-08-03 15:18:40
299
4
原创 MySQL复合查询
MySQL复合查询前面我们讲解的mysql表的查询都是对一张表进行查询,在实际开发中这远远不够。对于CURD之一的查找,他作为最重要的操作,仅仅在一张表之中查是不够的,还需要在多表之间进行查询,复合查询就是解决多表查询的问题。
2023-07-31 16:45:21
670
5
原创 MySQL内置函数
获得时分秒:获得时间戳:date函数date(datetime),datetime可以是各种日期,也可以是上述的各类函数,最终得到的是所述内容中的日期部分。常量在日期的基础上加日期:interval后面的数值单位可以是:year、month、day。date也可以是函数的返回值在日期的基础上减日期:interval后面的数值单位可以是:year、month、day。date也可以是函数的返回值l两个日期的差,即date1-date2,单位是天。当然,date一样可以是函数的返回值。
2023-07-29 20:02:01
375
7
原创 MySQL表的增删查改
CURD无疑是在数据库中操作最多的,都是对表进行各种的增删查改,尤其对于查找,表与表之间因外键的联系等。但无疑,我们在上面的select 等语句,每一个过程都是对表进行操作,即筛选后的数据在逻辑上仍然是一张表,数据库本身也是一种表结构,所以,数据库下一切皆表。
2023-07-28 21:13:33
1281
6
原创 MySQL表的约束
真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。所谓约束,就是避免犯一些低级错误,比如类似于语法错误,编译器的编译失败实际上也算是一种约束。表中一定要有各种约束,通过约束,让我们未来插入数据库表中的数据是符合预期的。
2023-07-26 17:53:34
315
7
原创 MySQL操作表
我们这一节所讲的是操作表的结构,而不是操作标表的内容。像插入数据insert,以及查看数据select,这些都是对表的内容所进行的操作。我们所学习SQL语言的种类有DDL,DCL,DML,像我们目前所学的数据库的操作及其表的操作都属于DDL,因为这些操作都属于定义表的结构。那么对于三.修改表结构实际上的添加、修改、删除、重命名都有对应的动作标志,即对应的词控制,除此之外的语法结构基本相同。添加字段:add修改字段:modify删除字段:drop表的重命名:rename。
2023-07-20 06:25:59
311
5
原创 MySQL基础
站在服务器的角度mysql:数据库服务的客户端mysqld:数据库服务的服务器端mysql本质上是基于C(mysql)S(mysqld)模式的一种网络服务。因此可以看到特定的端口号。mysql是一套给我们提供数据存储的服务的网络程序。数据库一般指的是,在磁盘或者内存中存储的特定结构组织的数据。–将来在磁盘上存储的一套数据库方案。数据库服务指的是->mysqld。为什么用数据库存储数据而不是直接用文件存储数据?文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据。
2023-07-13 19:00:35
1154
6
原创 【C++修炼之路】33.特殊类设计
拷贝只会放生在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝,只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。C++98将拷贝构造函数与赋值运算符重载只声明不定义,并且将其访问权限设置为私有即可。原因:C++11C++11扩展delete的用法,delete除了释放new申请的资源外,如果在默认成员函数后跟上=delete,表示让编译器删除掉该默认成员函数。二.设计一个类,只能在堆上创建对象1. 普通类的创建对象普通的类,可以在三种位置上创建对象:2.只能在堆上创建对象
2023-07-09 21:40:05
457
4
原创 【C++修炼之路】32.智能指针
boost库是为C++语言标准库提供扩展的一些C++程序库的总称,boost库社区建立的初衷之一就是为C++的标准化工作提供可供参考的实现,比如在送审C++标准库TR1中,就有十个boost库成为标准库的候选方案。
2023-07-07 20:03:35
377
2
原创 【C++修炼之路】31.异常
实际使用中很多公司都会自定义自己的异常体系进行规范的异常管理,因为一个项目中如果大家随意抛异常,那么外层的调用者基本就没办法玩了,所以实际中都会定义一套继承的规范体系。这样大家抛出的都是继承的派生类对象,捕获一个基类就可以了。// 服务器开发中通常使用的异常继承体系 class Exception {public :int _id;} };
2023-07-06 12:11:47
255
原创 【解决】VS2019各种乱码的情况
前两种问题的解决方式可以有效的防止乱码,但是我觉得每一次都要手动修改很麻烦,除了这个方法我暂时没有找到更有效的方式,或许以后尽量使用VScode进行操作吧。
2023-07-03 11:52:06
15295
原创 【解决】linux虚拟机开放端口号,虚拟机centos7开放端口
sudo firewall-cmd --add-port=8080/tcp --permanent(打开8080端口、如果是mysql就打开3306端口)firewall-cmd --zone=public --query-port=3306/tcp(查看某个端口的开放情况,返回yes或no)sudo firewall-cmd --add-service=http --permanent (允许http服务)sudo firewall-cmd --list-all(可以查看端口开放情况)
2023-05-30 21:31:41
2021
1
原创 【ProtoBuf】2.环境配置
到此,需要你回忆⼀下在执⾏configure时,如果当时选择了第⼀种执⾏⽅式,也就是./configure ,那么到这就可以正常使⽤protobuf了。
2023-05-30 11:39:52
2697
2
原创 【解决】PackageKit冲突
PackageKit是一个在Linux系统上用于软件包管理的守护进程(daemon)。它提供了一种统一的接口,用于管理和安装软件包,以及执行软件包更新和升级。PackageKit的主要功能包括:软件包搜索:PackageKit可以根据用户提供的关键字搜索可用的软件包,并提供相应的搜索结果。软件包安装和卸载:PackageKit可以处理软件包的安装和卸载操作,用户可以通过PackageKit接口进行软件包管理,而无需使用特定的软件包管理工具。
2023-05-30 11:23:49
2205
原创 【解决】升级g++到8版本
另外,也可以考虑查看其他可用的第三方存储库,例如Software Collections(SCL)存储库,以获取较新的g++版本。添加Developer Toolset存储库:在CentOS上,可以使用Red Hat Developer Toolset存储库来获取更新的编译器版本。通过按照上述步骤,在您的用户环境配置文件中添加相应的环境变量设置,可以使g++ 8成为默认版本。如果您希望永久更改默认的g++版本,您可能需要进行其他配置更改。如果输出显示的是g++ 8.x版本,则表示成功更改了默认版本。
2023-05-30 11:19:09
1871
1
原创 【C++修炼之路】定位new(项目记录)
一般的new运算符负责在heap堆中找到一个足以能够满足要求的内存块。而定位new(Placement new)是C++中的一个操作符,它允许在已分配的内存区域中构造对象。通常,使用new关键字来创建对象时,系统会自动分配内存并在其上构造对象。而定位new则提供了一种在指定的内存位置上构造对象的能力。
2023-05-23 14:10:27
1188
1
原创 【C++修炼之路】30.可变参数模板&&包装器
在学习C语言时,就有过这种可变的参数数量的函数,即我们耳熟能详的scanf和printf,因为其可以传任意数量的参数:而对于C++11来说,C++11使这个特性实践的更加广泛。C++11的新特性可变参数模板能够创建可以接受可变参数的函数模板和类模板,相比C++98/03,类模版和函数模版中只能含固定数量的模版参数,可变模版参数无疑是一个巨大的改进。然而由于可变模版参数比较抽象,使用起来需要一定的技巧,所以这块还是比较晦涩的。现阶段,我们掌握一些基础的可变参数模板特性就够我们用了。
2023-05-20 12:37:23
961
4
原创 【C++修炼之路】29.lambda表达式
在C++98中,如果想要对一个数据集合中的元素进行排序,可以使用std::sort方法,如果待排序元素为自定义类型,需要用户定义排序时的比较规则,这个比较规则既可以是我们C语言时的函数指针,也可以是C++中的仿函数,,下面的例子就是利用仿函数的方式。// 名字 double _price;// 价格 int _evaluate;
2023-03-19 15:16:12
641
6
原创 【Linux修炼】16.共享内存
shmget函数功能:用来创建共享内存原型 int shmget(key_t key , size_t size , int shmflg);参数key : 这个共享内存段名字size : 共享内存大小shmflg : 由九个权限标志构成,它们的用法和创建文件时使用的mode模式标志是一样的返回值:成功返回一个非负整数,即该共享内存段的标识码;失败返回 - 1shmat函数功能:将共享内存段连接到进程地址空间。
2023-03-14 15:31:37
1034
7
原创 【C++修炼之路】27.右值引用
以下所要讲到的,以及右值引用的都是为了提高性能,这是其他语言所不具备的,而本文章就围绕了大量的场景将右值引用的细节分割并逐个击破。左值引用是取别名,直接起作用。右值引用是通过实现移动构造和移动赋值,在拷贝的场景中,如果是右值(将亡值),则进行资源的转移,这是间接起作用。在C++11的标准中,vector以及其他类型的容器的构造函数中,也都出现了新的函数接口:这里只贴了两种常见的容器,对于其他容器,也都有这一新接口。return 0;这是当然的,学这么长时间岂是白学?
2023-03-12 09:17:15
570
9
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人