【牛客网】BM1:翻转链表
今天打算开启新一轮刷题了,必须得刷了,再不刷就得成废物了。 也希望看我博客的老哥能监督一下我,一起进步嘛! 题目BM001打算从牛客网的面试top101开始刷起来,今天是BM001反转链表 给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。 数据范围: 0≤n≤1000 要求:空间复杂度 O(1) ,时间复杂度 O(n) 。 解法1:循环最简单的办法就是用指针来一个一个修改链接,每次都将当前节点的next链接为上一个节点,最终再将开头的节点(单独存一下原本的开头)的next链接为空,返回最后一个节点即可。 很常规的写法,参考注释 123456789101112131415161718192021222324252627282930class Solution{public: ListNode *ReverseList(ListNode *head) { // 因为需要O(1)空间复杂度,所以我们不能用很蠢的将数据遍历出来后倒序放回的办法 ...
【C++11】future和async等
C++11的future和async等
【Python】元组/列表/集合的区别
1.说明元组(tuple)、列表(list)和集合(set)是Python中常见的数据结构,它们有一些重要的区别。 可变性:列表是可变的(mutable),可以对其进行添加、删除和修改操作。元组是不可变的(immutable),一旦创建就无法修改。集合也是可变的,但是它具有去重功能,不允许存在重复的元素,并且没有固定的顺序。 语法:列表使用方括号[]来表示,元素之间用逗号,分隔;元组使用圆括号()``来表示,元素之间同样用逗号,分隔;集合使用大括号{}来表示,元素之间也用逗号,`分隔。 例如: 123my_list = [1, 2, 3]my_tuple = (4, 5, 6)my_set = {7, 8, 9} 索引和切片:列表和元组都支持通过索引访问元素和切片操作。而集合是无序的,不支持索引和切片操作。 重复元素:列表和元组允许存在重复的元素,而集合会自动去除重复的元素。 例如: 1234my_list = [1, 1, 2, 2, 3, 3] # 列表中可以有重复元素my_tuple = (4, 4, 5, 5) #...
【Python】selenium遇到ActionChains.move_to_element() takes 2 positional arguments but 4 were given报错
python的selenium遇到ActionChains.move_to_element() takes 2 positional arguments but 4 were given报错
【Python】自动化测试selenium
本文已失效,请不要阅读
【C++】使用CPP+STMP发送邮件
使用CPP+STMP发送邮件
【C++】继承多态详解
在之前的CPP大作业中,为了应付期末(是这样的)关于继承和多态部分的内容只是草草过了一遍,并没有深挖背后的实现原理,以及使用的时候一些注意事项。 本篇博客是对类和对象继承多态部分的深化! [TOC] 0.什么是封装面向对象的三大特性:封装、继承、多态 面向对象还有 反射(C++中没有)、抽象...
【MySQL】deepin安装mysql的cpp开发包
deepin安装mysql的cpp开发包
【数据备份】谈谈如何进行有效数据备份,3+2+1
谈谈如何进行有效数据备份,以及什么是3+2+1 1. 前言数据备份已经是一个老生常谈的问题了 今天在群里看到一位群友就出现了数据丢失的问题,两次跳闸后,台式机的固态硬盘无法被识别,在bios中看不到,群友说自己换了其他电脑依旧识别不出来这个固态(可以确定是固态挂了)。 于是,我就有了写这篇博客的想法,来谈谈我对数据备份的看法以及简单的做法。 数据只有丢了才会知道珍惜,请不要在丢了重要数据的时候才去为没有备份而后悔! 工作文件、学习资料(严肃正经的)、家庭照片等信息,还有一切你觉得多少有点价值,想留下来的资源,那都是值得备份的数据。 说句题外话,小时候的我不喜欢拍照,可长大了,发现自己小时候半点照片都没有。脑海里对儿时的记忆,也早已模糊。上了大学之后,我拍照虽然依旧不多,但总归还是比儿时多了几倍。老了之后,这些东西就是你一辈子的回忆了。 2....
【C语言】数组竟然还可以这样调用?慕雪学艺不精了!
数组竟然还可以这样调用?只能说慕雪学艺不精了! 上代码!起因是群里的一个图,本来以为只是个开玩笑的bug图,谁知道其他群友说了,我才发现是自己毛都不懂 代码就大概是下面这样,请问你的第一印象,这个代码是否有语法错误呢? 123456789#include <stdio.h>int main(){ int a[10] = {1,3,4,5,6,7}; printf("%d ",a[4]); printf("%d\n",4[a]); return 0;} 问题肯定是第二个printf中的4[a],直接上编译运行结果,可以看到不但没有出错,二者的打印的数据也完全相同 123[muxue:~/code/c/c_cpp]$ gcc test.cpp -o test[muxue:~/code/c/c_cpp]$ ./test6 6 为啥?如果你对C语言的指针有过了解,应该知道a[n]实际上在访问的时候,会被转成...