#剑指

剑指Offer-正则表达式匹配(Python)

请实现一个函数用来匹配包括.和*的正则表达式。模式中的字符.表示任意一个字符,而*表示它前面的字符可以出现任意次(包含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串aaa与模式a.a和ab*ac*a匹配,但是与aa.a和ab*a均不匹配。"匹配"是指完全匹配,即aaa与aaaa不匹配,只有aaa与...

leetcode 206. Reverse Linked List(剑指offer16)、92. Reverse Linked List II

无论是1,还是2,删除链表都需要3个节点,只是现在这种最新写法只把cur作为了判断循环的依据,并且下一个节点的生成放在循环内。 206.ReverseLinkedList之前在牛客上的写法:错误代码:classSolution{public:ListNode*ReverseList(ListNode*pHea...

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)...

leetcode46. Permutations 、47. Permutations II、 剑指offer字符串的排列

 字符串排列和PermutationsII差不多Permutations第一种解法:这种方法从0开始遍历,通过visited来存储是否被访问到,level代表每次已经存储了多少个数字时间复杂度O(n!)classSolution{public:vector<vector<int>>pe...

leetcode 338. Counting Bits,剑指offer二进制中1的个数

leetcode是求当前所有数的二进制中1的个数,剑指offer上是求某一个数二进制中1的个数https://www.cnblogs.com/grandyang/p/5294255.html第三种方法,利用奇偶性找规律 classSolution{public:vector<int>countBi...

新版剑指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

剑指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...

剑指offer13 在O(1)时间删除链表的结点

把下一个节点的值直接赋值给要删除的节点,然后删除下一个节点。当这样做会有两个badcase:被删除的链表结点的下一个结点为空指针,如果链表只有一个结点。其实链表只有一个结点应该属于下一个结点为空指针的大类,但处理方式不同。整个方案就是下一个结点是否是空指针 voiddeleteNode(TreeNode*pL...

剑指offer 14 调整数组顺序使奇数位于偶数前面

牛客网上的题目还有一个额外的要求,就是不改变数组原始的前后数据,这种可以用队列来存储,或者把前后比较变为相邻的元素比较。这个题目,主要要考察扩展性,用func函数就实现了扩展性。只需要改func函数,就可以实现负数移动到非负数前面,被3整除的数移到不能被3整除的数的前面classSolution{public:void...

剑指offer8 旋转数组的最小数字

一种错误写法:classSolution{public:intminNumberInRotateArray(vector<int>rotateArray){intlength=rotateArray.size();if(length<=0)return0;if(rotateArray[0]==rota...

剑指offer44 扑克牌顺序

 注意一个边界条件:必须是连续的,如果前后两个数是一样的也不满足条件classSolution{public:boolIsContinuous(vector<int>numbers){intlength=numbers.size();if(length!=5)returnfalse;sort(nu...

剑指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;}};注意:做...

剑指offer42 左旋转字符串

自己想的一个新的写法,如果不排除length=0的情况,下面那个while是死循环classSolution{public:stringLeftRotateString(stringstr,intn){intlength=str.length();if(length==0)returnstr;while(length&...

剑指offer24 二叉搜索树的后序遍历序列

自己写的更简洁的代码classSolution{public:boolVerifySquenceOfBST(vector<int>sequence){intlength=sequence.size();if(length<=0)returnfalse;returnVerifyCore(sequence...

剑指offer55 字符流中第一个不重复的字符(最典型错误)

典型并且基础的错误:classSolution{public://InsertonecharfromstringstreamvoidInsert(charch){if(result[ch]==-1)result[ch]=index;elseif(result[ch]>=0)result[ch]=-2;index+...
首页上一页1234下一页尾页