51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#剑指
剑指Offer-正则表达式匹配(Python)
请实现一个函数用来匹配包括.和*的正则表达式。模式中的字符.表示任意一个字符,而*表示它前面的字符可以出现任意次(包含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串aaa与模式a.a和ab*ac*a匹配,但是与aa.a和ab*a均不匹配。"匹配"是指完全匹配,即aaa与aaaa不匹配,只有aaa与...
代码星球
·
2021-02-08
剑指
Offer-
正则
表达式
匹配
leetcode 206. Reverse Linked List(剑指offer16)、92. Reverse Linked List II
无论是1,还是2,删除链表都需要3个节点,只是现在这种最新写法只把cur作为了判断循环的依据,并且下一个节点的生成放在循环内。 206.ReverseLinkedList之前在牛客上的写法:错误代码:classSolution{public:ListNode*ReverseList(ListNode*pHea...
代码星球
·
2020-10-13
Reverse
Linked
List
leetcode
206.
leetcode 136. Single Number 、 137. Single Number II 、 260. Single Number III(剑指offer40 数组中只出现一次的数字)
136.SingleNumber除了一个数字,其他数字都出现了两遍。用异或解决,亦或的特点:1.相同的数结果为0,不同的数结果为1 2.与自己亦或为0,与0亦或为原来的数classSolution{public:intsingleNumber(vector<int>&nums)...
代码星球
·
2020-10-13
Single
Number
leetcode
136.
137.
leetcode46. Permutations 、47. Permutations II、 剑指offer字符串的排列
字符串排列和PermutationsII差不多Permutations第一种解法:这种方法从0开始遍历,通过visited来存储是否被访问到,level代表每次已经存储了多少个数字时间复杂度O(n!)classSolution{public:vector<vector<int>>pe...
代码星球
·
2020-10-13
Permutations
leetcode46.
II
剑指
offer
leetcode 338. Counting Bits,剑指offer二进制中1的个数
leetcode是求当前所有数的二进制中1的个数,剑指offer上是求某一个数二进制中1的个数https://www.cnblogs.com/grandyang/p/5294255.html第三种方法,利用奇偶性找规律 classSolution{public:vector<int>countBi...
代码星球
·
2020-10-13
leetcode
338.
Counting
Bits
剑指
新版剑指offer14 剪绳子
intmaxProduct(intlength){if(length<2)return0;if(length=2)return1;if(length=3)return2;intnumof3=length/3;if(length-numof3*3==1)numof3-=1;intnumof2...
代码星球
·
2020-10-13
新版
剑指
offer14
绳子
剑指offer 最小的k个数 、 leetcode 215. Kth Largest Element in an Array 、lintcode 80. Median、295. Find Median from Data Stream(剑指 数据流中位数) topK
注意multiset的一个bug:multiset带一个参数的erase函数原型有两种。一是传递一个元素值,如上面例子代码中,这时候删除的是集合中所有值等于输入值的元素,并且返回删除的元素个数;另外一种是传递一个指向某个元素的iterator,这时候删除的就是这个对应的元素,无返回值。https...
代码星球
·
2020-10-13
剑指
Median
offer
小的
个数
剑指offer13 在O(1)时间删除链表的结点
把下一个节点的值直接赋值给要删除的节点,然后删除下一个节点。当这样做会有两个badcase:被删除的链表结点的下一个结点为空指针,如果链表只有一个结点。其实链表只有一个结点应该属于下一个结点为空指针的大类,但处理方式不同。整个方案就是下一个结点是否是空指针 voiddeleteNode(TreeNode*pL...
代码星球
·
2020-10-13
剑指
offer13
时间
删除
链表
剑指offer 14 调整数组顺序使奇数位于偶数前面
牛客网上的题目还有一个额外的要求,就是不改变数组原始的前后数据,这种可以用队列来存储,或者把前后比较变为相邻的元素比较。这个题目,主要要考察扩展性,用func函数就实现了扩展性。只需要改func函数,就可以实现负数移动到非负数前面,被3整除的数移到不能被3整除的数的前面classSolution{public:void...
代码星球
·
2020-10-13
剑指
offer
调整
数组
顺序
剑指offer8 旋转数组的最小数字
一种错误写法:classSolution{public:intminNumberInRotateArray(vector<int>rotateArray){intlength=rotateArray.size();if(length<=0)return0;if(rotateArray[0]==rota...
代码星球
·
2020-10-13
剑指
offer8
旋转
数组
最小
剑指offer44 扑克牌顺序
注意一个边界条件:必须是连续的,如果前后两个数是一样的也不满足条件classSolution{public:boolIsContinuous(vector<int>numbers){intlength=numbers.size();if(length!=5)returnfalse;sort(nu...
代码星球
·
2020-10-13
剑指
offer44
扑克牌
顺序
剑指offer47 不用加减乘除做加法
自己写的classSolution{public:intAdd(intnum1,intnum2){inta=num1^num2;intb=(num1&num2)<<1;while(b){intc=a^b;intd=(a&b)<<1;a=c;b=d;}returna;}};注意:做...
代码星球
·
2020-10-13
剑指
offer47
不用
加减乘除
加法
剑指offer42 左旋转字符串
自己想的一个新的写法,如果不排除length=0的情况,下面那个while是死循环classSolution{public:stringLeftRotateString(stringstr,intn){intlength=str.length();if(length==0)returnstr;while(length&...
代码星球
·
2020-10-13
剑指
offer42
旋转
字符串
剑指offer24 二叉搜索树的后序遍历序列
自己写的更简洁的代码classSolution{public:boolVerifySquenceOfBST(vector<int>sequence){intlength=sequence.size();if(length<=0)returnfalse;returnVerifyCore(sequence...
代码星球
·
2020-10-13
剑指
offer24
二叉
搜索
后序
剑指offer55 字符流中第一个不重复的字符(最典型错误)
典型并且基础的错误:classSolution{public://InsertonecharfromstringstreamvoidInsert(charch){if(result[ch]==-1)result[ch]=index;elseif(result[ch]>=0)result[ch]=-2;index+...
代码星球
·
2020-10-13
字符
剑指
offer55
流中
第一个
首页
上一页
1
2
3
4
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他