2020年3月8日

摘要: BFS(广度优先搜索) 类似于树的按层遍历 常用实现方法:队列 模板: 注意: 只能用来求解无权图的最短路径问题 队列:用来存储每一层便利得到的节点 标记:对于遍历过的结点,应将其标记,以防重复访问 leetcode常见题目: 1、地图分析 2、完全平方数 3、单词接龙 阅读全文
posted @ 2020-03-08 21:29 行者常至,为者长成 阅读(255) 评论(0) 推荐(0)
 
摘要: DFS 深度优先搜索 主要有两种实现方法:栈和递归 什么是DFS?说白了就是一直遍历元素的方式而已,我们可以把它看成是一条小蛇,在每个分叉路口随意选择一条路线走,直到撞到南墙,才会调头返回到上一个分叉路口,走另外一条路,有时候运气很好,撞到了目标点,那么这个算法就结束了。 模板: 参数1 DFS(参 阅读全文
posted @ 2020-03-08 21:08 行者常至,为者长成 阅读(3155) 评论(0) 推荐(0)

2020年3月1日

摘要: 参考博客 https://mp.weixin.qq.com/s/6YeZUCYj5ft-OGa85sQegw 思路:双指针,注意左右指针移动 模板: public int slidingWindowTemplate(String[] a, ...) { // 输入参数有效性判断 if (...) { 阅读全文
posted @ 2020-03-01 22:47 行者常至,为者长成 阅读(161) 评论(0) 推荐(0)

2020年2月2日

摘要: 1、打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。 阅读全文
posted @ 2020-02-02 21:34 行者常至,为者长成 阅读(252) 评论(0) 推荐(0)
 
摘要: 1、买卖股票的最佳时机 I 注意:只能买卖一次股票,求最大利润 思路:需要找出给定数组中两个数字之间的最大差值(即,最大利润)。此外,第二个数字(卖出价格)必须大于第一个数字(买入价格)。 状态转移方程:res = max(res, prices[i] - minpri);,res为前i天的最大收益 阅读全文
posted @ 2020-02-02 18:21 行者常至,为者长成 阅读(203) 评论(0) 推荐(0)

2019年12月23日

摘要: 一、排序 sort sort(first_pointer,first_pointer+n,cmp) 默认为升序 若要使用降序,自行写cmp 函数 bool cmp(int a,int b){ return a<b; //升序排列,如果改为return a>b,则为降序} 例如:方法一:定义比较函数( 阅读全文
posted @ 2019-12-23 22:06 行者常至,为者长成 阅读(357) 评论(0) 推荐(0)
 
摘要: string常用函数 1、构造函数 string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello" 2、删除 erase 阅读全文
posted @ 2019-12-23 21:56 行者常至,为者长成 阅读(547) 评论(0) 推荐(0)
 
摘要: 一、关联容器: 按关键字有序保存元素map 关联数组;保存关键字-值对set 关键字即值,只保存关键字的容器multimap 关键字可以重复出现的mapmultiset 关键字可以重复出现的set 无序关联容器unordered_map 用哈希函数组织的map,无序unordered_set 用哈希 阅读全文
posted @ 2019-12-23 21:35 行者常至,为者长成 阅读(444) 评论(0) 推荐(0)

2019年12月22日

摘要: 注意: 1、count() 常用来判断set中某元素是否存在,因为一个键值在set只可能出现0或1次。 2、erase()用法 erase(iterator) ,删除定位器iterator指向的值 erase(first,second),删除定位器first和second之间的值 erase(key 阅读全文
posted @ 2019-12-22 22:38 行者常至,为者长成 阅读(181) 评论(0) 推荐(0)

2018年5月18日

摘要: 一、C++占用内存分配 1)、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2)、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表, 阅读全文
posted @ 2018-05-18 21:27 行者常至,为者长成 阅读(201) 评论(0) 推荐(0)