自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【代码随想录算法训练营】【C语言版】第十天| 栈与队列的理论基础、232.用栈实现队列、225. 用队列实现栈、20. 有效的括号、1047. 删除字符串中的所有相邻重复项

/出队列pop就是把最早的拿出(取首元素peek同理),即如果输出栈为空(即输入栈和输出栈都为空),就把输入栈(最早的在最里面)全导入输出栈,再取出来的最外面的就是最早的;从下图中可以看出,栈的内部结构,栈的底层实现可以是vector,deque,list 都是可以的, 主要就是数组和链表的底层实现。//返回队列的首元素peek,即如果输出栈非空,就直接取出最外面的顶部元素,否则取出输入栈的首元素。//用两个队列实现pop就是将队列1中除了首元素的所有元素放入队列2,再从队列2中放回队列1。

2024-06-16 20:16:31 918

原创 【代码随想录算法训练营】【C语言版】第九天| 151.翻转字符串里的单词、卡码网:55.右旋转字符串

解决报错2(前后有空格的测试用例的输出结果在最前面有多余空格):应该是字符串翻转前最后面的空格没删掉,所以想到之前设想的思路中遇到空格但后面是字符的情况,字符不可被简单认为是非空格,还应该非字符串终止符。代码随想录算法训练营第八天| 344.反转字符串 、 541. 反转字符串II、 卡码网:54.替换数字 、 151.翻转字符串里的单词 、卡码网:55.右旋转字符串。解决报错1(有空格的测试用例的输出结果都是错的):s[slow]=‘\0’;

2024-06-15 16:16:42 496

原创 【代码随想录算法训练营】【C语言版】第八天| 344.反转字符串、541. 反转字符串II、卡码网:54.替换数字

在采用第二种方法定义字符串时,即不限定字符串长度的逐个字母赋值而不是整个字符串赋值,不要忘记加上字符串的结束标志’\0’,因为编译器不会为程序员自动添加’\0’,所以我们并不推荐这种方式来对字符串进行定义,除了加上’\0’之外,另一种方式就是限定字符串长度,限定之后编译器会在末尾加上结束标志’\0’(此处只是指的vs2019编译器,其它编译器笔者并未验证),当然,最推荐的还是程序员手动添加’\0’作为结束标志。在C语言中,字符串的长度是由其内存布局决定的,不是由字符串字面量的定义直接决定的。

2024-06-14 19:28:14 816

原创 【代码随想录算法训练营】第七天| 454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和

C语言uthash介绍。

2024-06-13 20:03:01 738

原创 【代码随想录算法训练营】第六天| 哈希表理论基础、242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和

当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。但是哈希法也是牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。如果在做面试题目的时候遇到需要判断一个元素是否出现过的场景也应该第一时间想到哈希法!

2024-06-12 15:54:01 900 2

原创 【代码随想录算法训练营】第四天| 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II

思路:设置快慢两个指针,fast每次移动两步,slow每次移动一步,最后在环中相遇则证明有环否则无环,2(x+y)=x+y+n(z+y),求x则为x=n(z+y)-y=(n-1)y+nz=(n-1)(y+z)+z,即如果index1指针从相遇节点出发,index2指针从头节点出发,均每次移动一步,最终相遇点会在环形入口节点即距离头节点为x个节点处,此时index1比index2多走((n-1)圈+z-x),即先得到fast和slow相遇点,再得到index1和index2相遇点即可得到环形入口节点x。

2024-06-09 16:00:20 535

原创 【代码随想录算法训练营】第三天| 203.移除链表元素、707.设计链表、206.反转链表

NULL也需要判断,否则会漏index为(末尾下标+1)时,cur为末尾元素时的情况(cur!上面这点在AddAtIndex中不需要考虑因为题目要求说如果 index 等于链表的长度(末尾下标+1),那么该节点会被追加到链表的末尾。定义链表构造函数:C++如果没定义直接使用也行因为系统有默认链表构造函数,但无法在初始化的时候赋值而需要初始化后附值。种类:单链表,双链表(有前节点也有后节点,即可向前查询也可向后查询),循环链表。1.该题默认obj指的是虚拟头节点,但index为0时指的是非虚拟头节点。

2024-06-08 10:40:14 426

原创 【代码随想录算法训练营】第二天| 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II

型,所以要强制类型转换成int,在前面加上(int%20*),才能给整型赋值,后面(sizeof(int)*2)的意思是分配两个int大小的空间。思路:找每个数组元素大于等于target的子数组最小长度,找到就和已储存的最小长度进行比较和更新,并继续找下个元素满足条件的子数组最小长度。a[i]数组中存放的则是数组第i行数组元素的地址,长度为二维数组的列数j。既找到了每个数组元素起始的满足条件的子数组最小长度,又找到了其中最小的值作为原数组中满足条件的子数组最小长度。

2024-06-07 00:06:37 1213

原创 【代码随想录算法训练营】第一天| 704. 二分查找、27. 移除元素

1定义target在[left, right]区间,初始化right=数组长度-1,while (left <= right) 要使用 <=,if (nums[middle] > target) right 要赋值为 middle - 1。2定义target在[left, right)区间,初始化right=数组长度,while (left < right) 要使用 <,if (nums[middle] > target) right 要赋值为 middle。例如:a=++i相当于i=i+1;

2024-06-05 23:46:11 532

原创 Anaconda和opencv配置

Windows环境下Anaconda4.6+Python3.7+OpenCV4.1+Pycharm环境搭建:https://blog.csdn.net/iracer/article/details/90746292

2019-11-30 15:11:28 214

原创 pycharm快捷键

pycharm快捷键:最常用的是:1.ctrl+c 复制 2.ctrl+d 快速复制上行的内容至下一行 3.Ctrl+shift+n 通过文件名快速查找工程内的文件 4.ctrl +a 全选 5.Ctrl+alt+l 调整代码格式 6.Alt+enter 导入模块 ...

2019-11-30 15:06:44 173

原创 Anaconda介绍与使用

作者:猴子链接:https://www.zhihu.com/question/58033789/answer/254673663来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。你可能已经安装了 Python,那么为什么还需要 Anaconda?有以下3个原因:1)Anaconda 附带了一大批常用数据科学包,它附带了 conda、Python 和 150...

2019-11-30 15:02:49 2161

空空如也

空空如也

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

TA关注的人

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