fancycarp
fancycarp
全部文章
题解
归档
标签
去牛客网
登录
/
注册
fancycarp的博客
全部文章
/ 题解
(共44篇)
题解 | #进制转换#
本题的难度在于如何进行大数除法。函数divide实现了除数为2情况下的大数除法。 #include<bits/stdc++.h> using namespace std; string divide(string str) { int remain = 0; for(i...
字符串
大数除法
2021-05-31
0
467
NC141 #判断回文#
双指针。别用递归,字符串太长了会爆栈。 class Solution { public: bool judge(string str) { int len = str.size(); int left = 0, right = len - 1; ...
字符串
双指针
2021-05-13
0
442
NC13 #二叉树的最大深度#
最简单的DFS。 class Solution { public: int dfs(TreeNode* root) { if(root == nullptr) return 0; else return ...
DFS
2021-05-13
0
353
NC109 #岛屿数量#
最基础的DFS了。 lass Solution { public: void dfs(vector<vector<char> >& grid, int i, int j, int w, int h) { grid[i][j] = '0'...
DFS
2021-05-12
0
500
NC136 #输出二叉树的右视图#
先重构二叉树,后层次遍历。 class Solution { public: unordered_map<int, int> index; TreeNode* rebuild(vector<int>& pre, int pre_left, int pr...
DFS
递归
栈
队列
层次遍历
2021-05-12
0
440
NC128 #容器盛水问题#
用双指针,从两边向中间收缩。思考一下为什么不能从一边往另一边走到头。 class Solution { public: long long maxWater(vector<int>& arr) { int len = arr.size(); ...
双指针
2021-05-12
1
401
NC121 #字符串的排列#
递归,注意判断去重。 class Solution { public: vector<string> vec; void dfs(string ans, string str) { int len = str.size(); if(...
DFS
递归
2021-05-12
0
378
NC51 #合并k个已排序的链表#
思路和合并两个链表一样,多写个for循环而已 class Solution { public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if(l1 == nullptr) return l2; ...
链表
2021-05-12
0
416
NC7 #买卖股票的最好时机#
双指针,遇到比left位置更小的值,就把left移到那里。 class Solution { public: int maxProfit(vector<int>& prices) { int len = prices.size(); int...
双指针
2021-05-12
0
320
NC48 #在旋转过的有序数组中寻找目标值#
先找到翻转的起始下标,通过判断nums[0]与target的相对大小来决定在哪一段上进行常规二分。 class Solution { public: int binary_s(vector<int> nums, int target, int left, int right) ...
二分
2021-05-12
2
566
首页
上一页
1
2
3
4
5
下一页
末页