自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 模糊控制一点总结

步骤:1.首先确定控制器的形式,也就是输入输出变量的个数2.确定输入输出的物理论域和模糊集论域3.制定一定的规则,实现物理论域向模糊论域的转换(也可以用量化因子)4.确定模糊集,也就是那些NS、NM之类的5.设计输入输出的隶属函数6.设计模糊规则,if、else、then7.列出模糊控制表8.进行模糊推理,其实就是给定输入之后经过模糊化求出输出变量的...

2022-02-20 10:42:52 5453 3

转载 C++异常处理

这些标准异常类别分为三组:(1)语言本身所支持的异常此类异常用以支撑某些语言特性。主要包括:bad_alloc:new操作失败会抛出。bad_cast:执行期间加在一个引用上面的动态性型别转换操作失败时抛出。bad_typeid:执行RTTI时,交给typeid的参数为零或空指针时抛出bad_exception:非预期的异常...

2021-11-29 21:50:02 240

原创 数和的合集

454 是找四个数相加等于零的情况,我瞎了a+b+c+d=0 先算a+b key是a+b、value是a+b出现的次数,然后找-(c+d)就OK了本题解题步骤: 首先定义 一个unordered_map,key放a和b两数之和,value 放a和b两数之和出现的次数。 遍历大A和大B数组,统计两个数组元素之和,和出现的次数,放到map中。 定义int变量count,用来统计a+b+c+d = 0 出现的次数。 在遍历大C和...

2021-11-22 21:17:35 464

原创 202什么是快乐数,你快乐了吗

class Solution {public: int getNext(int num){ int d,sum=0; while(num>0){ d=num%10; num=num/10; sum+=d*d; } return sum; } bool isHappy(int n) { unordered_set<...

2021-11-21 21:00:51 224

原创 1002. 查找共用字符

写这道题完全是为了告诉自己,力扣上面的简单题并不代表几句就能写出来,有时候就得暴力求解,毫无技巧思路就是把每个字符都放进vector数组中,通过找到各个字符出现的最小交集,确定需要插入的元素和个数class Solution {public: vector<string> commonChars(vector<string>& words) { vector<int>min...

2021-11-20 16:49:16 242

原创 438找到字符串中所有字母异位词

其实就是滑动窗口的思想,和567是一样的,固定窗口大小class Solution {public: vector<int> findAnagrams(string s, string p) { if(s.size()<p.size())return vector<int>{}; vector<int>need(26,0); vector<int>have(26,0); v.

2021-11-20 15:55:11 565

原创 242有效的字母异位词

使用哈希表,相关知识:1.map是key——value 类型的,每个元素都是pair2.下标引用,因为map是哈希表,其实简单的数组也是哈希表,所以其实下标引用和数组方式是一样的,当然如果元素不在容器里面,会初始化一个元素3.迭代器其实是iterator类型的unordered_map<char,int>::iterator。class Solution {public: bool isAnagram(string s, string t) { ...

2021-11-19 15:33:31 440

原创 25. K 个一组翻转链表

思路很简单,就是头插法翻转cnt次链表就可以了class Solution {public: ListNode* reverseKGroup(ListNode* head, int k) { ListNode*temp=head; int len=0; while(temp!=nullptr){ len++; temp=temp->next; } int c.

2021-11-19 09:47:40 295

原创 92翻转部分链表

利用头插法解决,206也是反转链表,也可以用头插法class Solution {public: ListNode* reverseBetween(ListNode* head, int left, int right) { ListNode*dummy=new ListNode(-1,head); ListNode*pre=dummy; for(int i=1;i<left;i++){ pre=pre-...

2021-11-18 20:29:18 336

原创 234回文链表

分块写逻辑更清楚一点思路:快慢指针查找中点,然后翻转链表206题,然后比较是否相等时间复杂度:3/2 O(n) ,空间复杂度O(1)class Solution {public: bool isPalindrome(ListNode* head) { if (head == nullptr) { return true; } // 找到前半部分链表的尾节点并反转后半部分链表 ListNode*.

2021-11-16 23:45:05 49

原创 260翻转单链表

思路定义一个节点之前头结点前面,一个指向头结点,一个临时节点用于cur节点的下步循环class Solution {public: ListNode* reverseList(ListNode* head) { ListNode*prev=nullptr; ListNode*temp=nullptr; ListNode*cur=head; while(cur!=nullptr){ temp=cur-...

2021-11-16 00:18:41 213

原创 160相交链表

思路将两个链表组合起来,这样长度就相等了,然后双指针遍历,O(m+n) O(1)class Solution {public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { if (headA == nullptr || headB == nullptr) { return nullptr; } ListNode *pA = head.

2021-11-15 21:09:05 940

原创 567字符串排列

class Solution {public: bool checkInclusion(string s1, string s2) { if(s1.size()>s2.size()) return false; vector<int>need(26,0); vector<int>have(26,0); int len=s1.size(); for(int i=0;.

2021-11-14 08:51:20 176

原创 203移除链表元素

class Solution {public: ListNode* removeElements(ListNode* head, int val) { if(head==nullptr) return nullptr; head->next=removeElements(head->next,val); if(head->val==val) return head-...

2021-11-13 21:22:59 196

原创 21合并两个有序链表

class Solution {public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if(l1==nullptr) return l2; else if(l2==nullptr) return l1; else if(l1->val>=l2->val){ l2->next=merge.

2021-11-13 20:53:16 645

转载 Linux信号一览

默认动作:Term:终止进程。lgn:忽略信号(默认即时对该种信号忽略操作)。Core:终止进程,生成Core文件。(查验进程死亡原因,用于gdb调试)Stop:停止(暂停)进程。Cont:继续运行进程。注意从man 7 signal帮助文档中可看到: The signals SIGKILL and SIGSTOP cannot be caught, blocked, or ignored.这里特别强调了9) SIGKILL和19) SIGSTOP信号,不允许忽略和捕捉,只能执行默认动作..

2021-11-11 21:55:15 1766

原创 对于char*、char[]和string的转换

1.char*、char[]可以直接转为string直接赋值2.string转为char*c_str()会返回一个指向c字符串类型的指针,所以const char *ch=str.c_str();也可以用str.data();C++只能用const char*由于是const 类型,所以可以用const_cast去掉底层constchar const*ar[]={"ls","-l","-h",NULL}; ...

2021-11-11 09:15:14 11004

转载 哈希表学习

首先什么是 哈希表,哈希表(英文名字为Hash table,国内也有一些算法书籍翻译为散列表,大家看到这两个名称知道都是指hash table就可以了)哈希表的关键思想是使用哈希函数将键映射到存储桶。更确切地说,1.当我们插入一个新的键时,哈希函数将决定该键应该分配到哪个桶中,并将该键存储在相应的桶中;2.当我们想要搜索一个键时,哈希表将使用相同的哈希函数来查找对应的桶,并只在特定的桶中进行搜索。哈希表是根据关键码的值(键)而直接进行访问的...

2021-11-09 09:21:56 129

原创 vim编辑器模板设置

command mode下输入gg=Gvim的代码自动对齐命令 功能 ts TAB缩进长度 softtabstop BACKSPACE时退回缩进长度 Ubuntu Vim 配置文件所在目录为sudo vim /etc/vim/vimrcshiftwidth 每级缩进长度 expandtab 用空格表示缩进 noexpandtab 用制表符表示缩进 autoindent 自动缩进 set ts=4set softt.

2021-11-08 23:14:19 562 1

转载 Vs2015恢复默认包含目录问题(亲测有效)

前言:由于之前配置Qt,搞了一堆包含目录头文件啥的,然后取消关联后,找不到Windows kit也就是坑爹的下面这个错误:无法打开包括文件: “corecrt.h”: No such file or directory 归根到底还是路径配置问题,只需要以下步骤,不需要添加很多很乱的头文件,只要恢复Vs之前配置好的默认路径就好!!!(以下是转载的博主的,vs2015也是有效的)vs2012及vs2010里的库目录及包含目录不在像之前的版本那样,修改一次...

2021-10-26 12:34:34 640

转载 Linux学习(基本指令+组管理+权限管理详解)

mvmv 移动文件 与 目录或重命名基本语法 mv (oldNameFile) (newNameFile):(功能描述:重命名) mv (/temp/movefile) (/targetFolder):(功能描述:移动文件) 应用实例 案例1:将/home/aaa.txt文件重新命名为pig.txt(当前工作目录为/home) mv aaa.txt pig.txt 案例2:将/home/pig.txt文件移动到root目录下(当前工作目录为/home) mv pig

2021-10-06 10:04:42 930

转载 Linux 学习(杂乱篇-有vim)

12_文件系统目录结构Linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。深刻理解Linux树状文件目录是非常重要的。记住一句经典的话:在Linux世界里,一切皆文件。具体的目录结构:/bin[重点] (/usr/bin、/usr/local/bin) 是Binary的缩写,这个目录存放着最经常使用的命令。 /sbin (/usr/sbin、/usr/local/sbin) s就是Super User的意思,这.

2021-10-05 16:07:16 61

转载 cmakelists自定义选项

目录结构如下:math 目录下的 CMakeLists.txt 文件如下:aux_source_directory(. DIR_LIB_SRCS)# 生成链接库add_library(MathFunctions ${DIR_LIB_SRCS})cmake 允许为项目增加编译选项,从而可以根据用户的环境和需求选择最合适的编译方案。例如,可以将 MathFunctions 库设为一个可选的库,如果该选项为 ON ,就使用该库定义的数学函数来进行运算,否则就调用标准库中的数学函数库。

2021-10-04 19:42:53 978

转载 CMakeLists个人学习部分总结

注:一般Cmake编译会用out-of-source,就是新建一个build文件1. 预定义变量PROJECT_SOURCE_DIR:工程的根目录PROJECT_BINARY_DIR:运行 cmake 命令的目录,通常是 ${PROJECT_SOURCE_DIR}/buildPROJECT_NAME:返回通过 project 命令定义的项目名称CMAKE_CURRENT_SOURCE_DIR:当前处理的 CMakeLists.txt 所在的路径就是source所在路径,以上都是基于out-

2021-10-04 16:36:04 349

空空如也

空空如也

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

TA关注的人

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