华科不平凡
华科不平凡
全部文章
分类
题解(135)
归档
标签
去牛客网
登录
/
注册
ioogle
why join the navy if you can be a pirate
TA的专栏
135篇文章
8人订阅
刷遍天下无敌手
135篇文章
15888人学习
2333
0篇文章
0人学习
全部文章
(共135篇)
设计LRU缓存结构
来自专栏
这是一道类的设计题,此类题目要求我们理解各个基本数据结构的用法及其复杂度,并且学会组合它们: 存储键值对——map/unordered_map 存储集合——set/unordered_set 查找最大/最小/topk值——大顶堆/小顶堆/平衡二叉树 序列结构——数组&链表 字符串索引——t...
设计类
2020-09-15
5
970
最长递增子序列
来自专栏
两步走: 第一步——求最长递增子序列长度 第二步——求字典序靠前的子序列 对于第一步,有两种解法: 动态规划,时间复杂度为O(n^2),会超时 贪心+二分,时间复杂度为O(nlogn) 下面说说贪心+二分的解法,举例说明基本思路,假设数组arr为[2, 3, 1, 2, 3],vec数组里...
贪心
二分法
动态规划
2020-09-15
107
6676
并查集的实现
来自专栏
我以前也不会呀,自从用了并查集之后,嗨,效果还真好!我们全家都用它!——某大佬 关于并查集,有以下题型: LeetCode130——Surrounded Regions——给了个二维 grid,把里面O全部变成X,但是边界和边界联通区域内的O保留(也能用DFS) LeetCode261——Gra...
并查集
2020-09-07
0
792
找孤立数ii
来自专栏
设元素中除了某个孤立数外,其他数都出现过且只出现过N次,解题方法如下: 如果N为偶数,那么直接将每个元素异或后的结果即是最终结果 如果N为奇数,我们可以依次判断每一位为1还是为0 本题代码如下: // // Created by jt on 2020/9/6. // class Solutio...
位运算
2020-09-06
2
887
旋转图形
来自专栏
这一问题可以有如下问法(都是空间复杂度为常数级别): 矩阵左旋/右旋90度 矩阵左旋/右旋180度 对于本题,有两种思路: 思路一:利用对称进行旋转——先根据主对角线互换元素,再根据垂直中线互换元素 思路二:利用坐标映射 强烈建议用第一种方法,因为找第二种方法的坐标关系特别特别特别麻烦 ...
矩阵变换
2020-09-05
3
714
在转动过的有序数组中寻找目标值
来自专栏
对旋转数组进行均等划分后,总有一边是有序的,如: 10 11 12 13 14 15 1 2 3 10 11 15 1 2 3 4 5 6 7 8 我们定位到有序的一边后,对比target与有序子数组的左右边界,就可以作出搜索左侧还是右侧的决策。 代码如下: 第16行必须是<=,不能是&...
二分法
2020-09-03
9
1997
矩阵查找
来自专栏
本篇内容虽多,但有助于系统构建对二分查找的知识体系,如果您还不能闭着眼睛写二分的话,建议仔细看看哦~ 二分查找是一个思路很简单、但实现起来有点恼人的算法。正所谓知己知彼,胜乃不怠;知天知地,胜乃不穷,我们先对二分法这个“敌人”做一个简单的分类: 按查找区间分类——闭区间[..]和左闭右开区间[....
二分法
2020-09-03
4
948
实现pow函数
来自专栏
求x的n次方,我们需要考虑以下特性: 0的n次方为0 x的负数次方等于x的正数次方的倒数 考虑全面后就可以开始编码: // // Created by jt on 2020/9/3. // class Solution { public: /** * * @param...
分治
2020-09-03
0
783
最大子数组
来自专栏
两种方法—— 贪心思维,设arr[i]为以元素i结尾的子数组的最大和,那么arr[i] = max(arr[i-1]+nums[i], nums[i]),最大的arr[i]即是答案 分治思维,思路很简单,最大子数组和要么存在于左侧区间,要么存在于右侧区间,要么存在于跨越左右侧的区间 显然,贪心法...
贪心
分治
2020-09-03
2
772
丑数
来自专栏
维护三个“指针”,分别对应应该和2/3/5做乘法运算的元素的下标,如此一来可以: 确保数组中的每个数都与2/3/5做过一遍乘法 保证每次添加到数组中的新元素为下一个最小值,且不重复 代码如下: // // Created by jt on 2020/9/2. // #include <ve...
丑数
2020-09-02
1
607
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页