newCoderTheWarrior
newCoderTheWarrior
全部文章
题解
未归档(3)
归档
标签
去牛客网
登录
/
注册
newCoderTheWarrior的博客
全部文章
/ 题解
(共22篇)
【Warrior刷题笔记】牛客NC127 最长公共子串 【二分法+滑动窗口】详细注释
题目 来源:牛客 牛客算法 NC127 最长公共 子串 1.描述 给定两个字符串str1和str2,输出两个字符串的最长公共子串 题目保证str1和str2的最长公共子串存在且唯一。 2.示例 示例1 输入:"1AB2345CD", "12345EF" 返回值:"2345" 解题思路 此...
C++
二分查找
滑动窗口
字符串
字符匹配
2021-12-25
0
413
【Warrior刷题笔记】奇偶树 【树的层序遍历】详细注释
题目 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/even-odd-tree 1.描述 如果一棵二叉树满足下述几个条件,则可以称为 奇偶树 : 二叉树根节点所在层下标为 0 ,根的子节点所在层下标为 1 ,根的孙节点所在层下标为 2 ,依...
C++
二叉树
广度优先搜索
模拟
队列
2021-12-25
1
626
【Warrior刷题笔记】NC41 最长无重复子数组【记忆化滑动窗口+双指针+哈希】逐行注释
题目 原题链接 描述 给定一个长度为n的数组arr,返回arr的最长无重复元素子数组的长度,无重复指的是所有数字都不相同。 子数组是连续的,比如[1,3,5,7,9]的子数组有[1,3],[3,5,7]等等,但是[1,3,7]不是子数组。 要求:空间复杂度O(n),时间复杂度O(nlogn) 思路...
C++
数组
哈希表
双指针
滑动窗口
2021-12-24
4
610
题解 | #两个链表的第一个公共结点#
解法一 哈希表 解法一比较简单,考虑空间换时间。 1.遍历链表A,使用哈希表存储遍历过的节点; 2.遍历链表B,判断当前节点是否在1的哈希表中,如果在,返回该节点;如果不在,遍历下一节点; 3.如果B中所有节点都不在1的哈希表中,返回空。 代码 /** * Definition for singl...
C++
哈希表
链表
双指针
2021-12-23
0
376
题解 | #连续子数组的最大和#
解题思路 此题可以用动态规划解决。 题目要求返回具有最大和的连续子数组的最大和,朴素思路是枚举所有连续子数组并计算其和,返回最大值,但是这样会超时。 我们换个思路,假设f(i)为以nums[i]结尾的连续子数组的最大和,那么f(i)(其中,0≤i<nums.size())中的最大值就是题目的答...
C++
数组
动态规划
2021-12-20
0
366
题解 | #链表中的节点每k个一组翻转# 【模拟】详细注释 双超100
解题思路 本题是一道模拟题,按题给条件模拟即可,难的是本题细节很多。 如果是普通的翻转链表,那么很简单。但是按k个一组翻转的话,你不光要正确地翻转本组节点,还要能让上一组的尾结点链接到本组的头部,并且将本组节点的尾部链接到下一组的头部。 这里使用两个指针tailOfLastVisited,headO...
C++
2021-12-19
0
364
题解 | #用两个栈实现队列#
解题思路 用两个栈实现队列。 1.一个栈用作输入栈,一个栈用作输出栈。 2.输入数据时,直接压入第一个栈。 3.需要输出数据时,直接将第一个栈的数据全部按栈输出顺序挪到第二个栈中,输出第二个栈的栈顶即可。之后直到栈二再次为空,否则不进行栈一数据的移动。 代码 class MyQueue { pub...
C++
栈
队列
2021-12-17
0
427
题解 | #斐波那契数列# 【模拟】详细注释 双超100
解题思路 本题为简单模拟题,按题给条件进行n次模拟即可。当然也有打表和公式的O(1)解法。 代码 class Solution { public: int fib(int n) { if(n==0) return 0;//如果n为0,返回0 int a = 1...
C++
数学
2021-12-16
0
465
题解 | #删除链表的倒数第n个节点# 【快慢指针】 详细注释 双超90
解题思路 此题可以使用快慢指针解法。 对于有关链表的删除操作一类题,记住一个小技巧就是新建一个假头,这样可以避免复杂的边界判断。 新建一个假头ans,并使其后继结点为head; 新建慢指针slow指向ans,快指针fast指向head; 先让快指针fast后移n个位置,之后快慢指针一起向后移动直至...
C++
双指针
链表
2021-12-16
0
438
题解 | #两数之和# 详细注释 双超99
解题思路 哈希。 代码 class Solution { public: vector<int> twoSum(vector<int>& numbers, int target) { int m = numbers.size();//计算数组长...
C++
哈希表
2021-12-15
0
441
首页
上一页
1
2
3
下一页
末页