代码改变世界

随笔档案-2020年11月

leet code 54 第二次做数组顺时针展开

2020-11-29 23:54 by woshihuangrulin, 104 阅读, 收藏,
摘要: 1, 将展开方向使用enum表示; 2,想好循环终止的条件-》转方向时下一次要访问的点越界或者已经访问过 class Solution { public: vector<int> spiralOrder(vector<vector<int>>& matrix) { vector<int> resul 阅读全文

976. 三角形的最大周长

2020-11-29 22:50 by woshihuangrulin, 195 阅读, 收藏,
摘要: 首先对数组进行排序,成为一个生叙述组,从尾部开始循环,如果此数前面的两个数的和小于等于此数,构成不了三角形,否则就是周长最大的三角形,代码如下 class Solution { public: int largestPerimeter(vector<int>& A) { sort(A.begin() 阅读全文

二叉树最近公共祖先

2020-11-29 01:45 by woshihuangrulin, 90 阅读, 收藏,
摘要: 二叉树最近祖先,使用递归方法,满足左子树和右子树都找到,或者某一个节点作为根结点而它的子节点包含另一个目标节点 class Solution { TreeNode* ancestor; bool find_ancestor = false; public: TreeNode* lowestCommo 阅读全文

剑指 Offer 58 - I. 翻转单词顺序

2020-11-29 01:22 by woshihuangrulin, 89 阅读, 收藏,
摘要: 使用快慢指针,注意循环结束后快指针比慢指针大的情况,此时应该将最后一个单词加入到结果中 class Solution { public: string reverseWords(string s) { if (s.empty()) { return s; } int start = -1; vect 阅读全文

线程安全的单例

2020-11-27 01:37 by woshihuangrulin, 115 阅读, 收藏,
摘要: 自己用两种方式实现了一遍线程安全的单例,第一种方式使用了线程锁: #include <iostream> #include <thread> #include <mutex> class Singleton { public: Singleton(){ std::cout << " Singleto 阅读全文

11. 盛最多水的容器

2020-11-24 01:08 by woshihuangrulin, 82 阅读, 收藏,
摘要: 这个题目需要清楚一个规律,我们从最左边和最右边两个值开始,当左边的值比较小时,只有往右移动左边的线才可能得到更大的的值,具体代码如下所示: class Solution { public: int maxArea(vector<int>& height) { int n = height.size( 阅读全文

使用优先队列完成了一个Astar搜索算法的c++实现,有时间可以完整的完成一遍

2020-11-24 00:29 by woshihuangrulin, 234 阅读, 收藏,
摘要: #include<queue> #include<vector> #include<unordered_map> using namespace std; struct Node { int x; int y; double cost; int parent; Node(int ix, int iy 阅读全文

20. 有效的括号

2020-11-24 00:27 by woshihuangrulin, 88 阅读, 收藏,
摘要: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 这个题目蛮有意思的,在做这个题目之前对stack(栈)的使用很少,具有先入后出的特 阅读全文

剑指 Offer 59 - I. 滑动窗口的最大值

2020-11-20 00:04 by woshihuangrulin, 93 阅读, 收藏,
摘要: 这道题目使用暴力方法很简单的就能够解决掉,但是使用动态规划的方法利用前一次的结果可以大大加速, if 滑窗向右移动时丢弃掉的如果不是最大值则只需要判定新加入的值和上一轮的最大值之间的关系,如果新加入的值大,则新的滑窗最大值是新加入的值,否则是上一个滑窗的最大值, else 重新计算滑窗的最大值,注意 阅读全文

state lattice-based motion planning for autonomous on road driving

2020-11-16 01:07 by woshihuangrulin, 189 阅读, 收藏,
摘要: 读完了Werling的optimal trajectories for time-critical street scenarios using disceretized terminal manifolds论文后读Shuiying Wang的博士论文,Matthew McNaughton论文中构造 阅读全文

快排算法

2020-11-16 00:55 by woshihuangrulin, 101 阅读, 收藏,
摘要: public static int partition(int[] arr,int left,int right){ int pivot = arr[left]; while(left < right){ while(left<right && arr[right] >= pivot) right- 阅读全文

马尔可夫决策过程随笔

2020-11-03 00:08 by woshihuangrulin, 72 阅读, 收藏,
摘要: 工作中发现当前确定性的规划决策方法已经无法应对城市交通环境下的高度不确定性事件,需要寻找不确定性环境下的决策规划算法,首先想到的是强化学习,而马尔可夫决策过程是强化学习的基础,在网上搜索到了bolei zou的教学视频,地址如下:youtube.com/watch?v=6yE9XiIB3hQ&lis 阅读全文