hlh要offer
hlh要offer
全部文章
分类
题解(7)
归档
标签
去牛客网
登录
/
注册
hlh要offer的博客
全部文章
(共7篇)
题解 | #在两个长度相等的排序数组中找到上中位数#
题目题解:二分法,如果两个数组各自的中位数相等,则这个就是整体的中位数如果arr1[mid1]<arr2[mid2],则arr1的[0,mid1)和arr2的(mid2,r2]都不可能是中位数,l1=mid1+(r1-l1+1)%2==0?1:0,r2=mid反之,arr2的[0,mid1)和...
2021-09-05
0
352
题解 | #删除有序链表中重复的元素-II#
题目题解:双指针 class Solution { public: /** * * @param head ListNode类 * @return ListNode类 */ ListNode* deleteDuplicates(ListNo...
2021-09-03
0
313
题解 | #判断一个链表是否为回文结构#
题目题解:使用快慢指针找到链表中点,然后对右边一半进行链表反转,然后对两半逐个进行比较节点值 class Solution { public: /** * * @param head ListNode类 the head * @return bool布尔型 ...
2021-09-03
0
373
题解 | #单链表的排序#
题目题解:使用归并法,利用快慢指针找到链表中点进行归并 class Solution { public: /** * * @param head ListNode类 the head node * @return ListNode类 */ L...
2021-09-03
0
419
题解 | #栈和排序#
题解:由于数字在1-n之间,对数组遍历,对已访问的数组将vis[i]置true,没访问的vis[i]为false。统计a[i]后面的最大值,vis从n=aLen开始统计,第一个为false的就是a[i]后面的最大值。如果数组后面的最大值比栈顶元素小,就弹出栈顶元素直到不符合条件当遍历完栈非空就按序弹...
2021-08-20
0
419
题解 | #找到搜索二叉树中两个错误的节点#
题目 解法:中序遍历,保存上一个节点的值,如果上一个节点值大于当前节点值,保存上一个节点的值,同时保存最后一个上一个节点大于当前节点值下的当前节点值,作为结果输出 时间复杂度O(n),空间复杂度O(1) /** * struct TreeNode { * int val; * s...
2021-08-20
0
476
题解 | NC46 加起来和为目标值的组合
题目解法:先对原数组排序,利用树的深度遍历思想进行dfs,当target减为0时push到res中,去重的方法是在dfs过程中判断相邻数字是否相同if(i>index && num[i]==num[i-1])continue;如果前后数字相同则跳过 class Solution...
2021-08-19
0
515