- 博客(3)
- 收藏
- 关注
原创 剑指offter 动态规划
最长不包含重复字符的子串 用动态规划做 关键是创建一个hash表存储每个字符出现过得最晚位置,当该字符再次出现的时候看这两个字符的距离,如果大于前一个dp值,说明不在前一个dp值的范围之内,那么当前的dp值就是前一个dp值加一,如果在小于前一个dp值,说明在前一个dp之内的长度内出现了重复字符,则当前dp不是最长不含重复字符的子串,,当前dp直接更新为当前位置-hash表中该字符位置。 class Solution { public: int lengthOfLongestSubstring(st
2021-08-27 09:19:59 82
原创 剑指otter第一天
剑指offter刷题 使用两个栈实现队列,一个倒序,一个正序,添加操作直接加入正序栈,删除操作首先将倒序元素全部输出并压入正序栈,全部压完之后再从正序栈输出== class CQueue { stack<int> stack1, stack2; public: CQueue() { while(!stack1.empty()){ stack1.pop(); } while(!stack2.empty()){
2021-08-23 22:56:07 62
原创 回溯法N皇后问题
文章目录N皇后问题 N皇后问题 Leetcode 51题 回溯方法的两种实现 利用数组,利用数组下标和值作为行列标号,初始化值和下标相同,求出整个数组的全排列,这样可以避免在横向和纵向上的对比,因为全排列不会有重复的值和下标,只需要考虑两个斜线方向上是否有冲突。 class Solution1 { public: vector<vector<string>> solveNQueens(int n) { vector<int> v;
2021-08-23 20:59:15 77
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人