代码改变世界

11. 盛最多水的容器

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

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

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

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

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

state lattice-based motion planning for autonomous on road driving

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

快排算法

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

283. 移动零

2020-10-28 01:14 by woshihuangrulin, 63 阅读, 0 推荐, 收藏, 编辑
摘要:还是快慢指针,看了答案,感觉对快慢指针还是不够熟悉,在去除重复数字题目中很快就想到了,但是这一题没有做出来,思路就是: 快指针和慢指针同步往后走,找到0后慢指针指向了0的位置,快指针会继续往后移动,直到找到一个不为零的数,慢指针的值就会和快指针的值交换,慢指针往后移动一步,还是会指向0的值,当快指针 阅读全文

删除排序数组中的重复项

2020-10-28 00:33 by woshihuangrulin, 64 阅读, 0 推荐, 收藏, 编辑
摘要:使用快慢指针方法,慢指针指向已经去重之后的元素尾部,快指针在遇到和慢指针相同元素时往下走,遇到不同元素时慢指针往下走一步,并将慢指针指向的元素值赋为快指针指向的元素值,具体代码如下 class Solution { public: int removeDuplicates(vector<int>& 阅读全文

寻找旋转排序数组中的最小值

2020-10-28 00:19 by woshihuangrulin, 67 阅读, 0 推荐, 收藏, 编辑
摘要:class Solution { public: int findMin(vector<int>& nums) { if (nums.size() == 1) { return nums.front(); } int left = 0; int right = nums.size() - 1; if 阅读全文