会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Joel_Wang
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
12
13
14
15
16
17
18
19
20
···
23
下一页
2019年4月9日
leetcode 121买卖股票的最佳时机I
摘要: 从下标1开始,维护两个变量,一个是0~i-1中的最低价格low,一个是当前的最高利润res;先更新最高利润,在更新最低价格;应用了贪心算法的基本思想,总是选择买入价格最低的股票,代码如下: 具有最优子结构:如果当前的价格比之前最低的价格还低,那么更新low变量,每次都计算利润能否更大;
阅读全文
posted @ 2019-04-09 14:47 Joel_Wang
阅读(187)
评论(0)
推荐(0)
2019年4月7日
leetcode 169求众数
摘要: 解法一:快速排序,时间O(nlog(n)),额外空间O(1),但是有两个样例会超时。 (土法分析)快速排序在有序的情况下时间复杂度O(n2)最高,而没有通过的样例估算约为50001个1和50000个2,因此O(n2)的复杂度约为10^10,某大佬说过,根据经验,超过10^9 OJ一般就不会通过,因此
阅读全文
posted @ 2019-04-07 22:57 Joel_Wang
阅读(333)
评论(0)
推荐(0)
leetcode 50. Pow(x, n)
摘要: 递归: 迭代: 这道题目应该使用迭代方法,因为使用递归方法会出现stack overflow(并不是说递归的代码是错误的,事实上递归的代码大多数样例可以正确运行) 正确的递归如下:
阅读全文
posted @ 2019-04-07 12:15 Joel_Wang
阅读(209)
评论(0)
推荐(0)
2019年4月5日
leetcode 235. 二叉搜索树的最近公共祖先
摘要: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ cl...
阅读全文
posted @ 2019-04-05 21:36 Joel_Wang
阅读(130)
评论(0)
推荐(0)
leetcode236. 二叉树的最近公共祖先
摘要: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ ...
阅读全文
posted @ 2019-04-05 21:34 Joel_Wang
阅读(198)
评论(0)
推荐(0)
leetcode98. 验证二叉搜索树
摘要: 递归中序遍历,logn时间,但由于使用vector容器,空间复杂度O(n); 中序遍历法改进:O(log(n)) 时间,O(1)空间; 更精简版,只使用一个函数:
阅读全文
posted @ 2019-04-05 00:33 Joel_Wang
阅读(123)
评论(0)
推荐(0)
2019年4月4日
排序算法总结
摘要: O(n2)的冒泡,选择,插入,先不贴,先贴归并,快排,堆排, O(nlog(n)) 归并排序 二路归并递归写法:时间O(nlog(n)),稳定,总时间O(nlog),空间:O(n+log(n)),n为内存,log(n)为栈空间 非递归和多路归并再说: 堆排序:对数组进行下标从1开始的堆排序,不稳定,
阅读全文
posted @ 2019-04-04 18:43 Joel_Wang
阅读(297)
评论(0)
推荐(0)
2019年4月3日
华为算法笔试题
摘要: #include #include using namespace std; int main() { int k; cin>>k; vector > arr; vector a; int tmp; while(cin>>tmp){ int i=0; if(arr.size()>tmp; ...
阅读全文
posted @ 2019-04-03 21:16 Joel_Wang
阅读(2339)
评论(0)
推荐(0)
leetcode141 环形链表
摘要: leetcode141 环形链表 time O(n)space O(1) 快慢指针法: 使用fast指针以两步步长更新,使用slow以一步步长更新; tips: while判断的条件通过短路表达式 fast && fast->next 如果fast为NULL 那么就不会访问 fast->next,循
阅读全文
posted @ 2019-04-03 17:05 Joel_Wang
阅读(167)
评论(0)
推荐(0)
leetcode 24. 两两交换链表中的节点
摘要: C++递归法 C++迭代法:代码应该简化下 C++迭代法进阶一:参考别人python的思路,先在上一轮循环令上一轮的尾节点,也就是前驱pre的pre->next=a,如果本轮循环能够执行,那么再在本轮循环中将pre->next更新为b,这样可以有效解决奇数和偶数节点的两两交换: -1——1——2——
阅读全文
posted @ 2019-04-03 11:25 Joel_Wang
阅读(193)
评论(0)
推荐(0)
上一页
1
···
12
13
14
15
16
17
18
19
20
···
23
下一页
公告