摘要:回文子串 1.dp法 class Solution { public: int countSubstrings(string s) { int count = 0; vector<vector<bool>> dp(s.size(), vector<bool>(s.size(), false)); f
阅读全文
摘要:动规五部曲: 1.确定dp下标以及dp数组的含义 2.确定递推关系 3.确定初始化参数 4.确定遍历顺序 5.举例推导dp数组 一.01背包问题 二维dp: for(int i = 0; i < nums.size(); i++) for(int j = nums[i]; j ⇐ bagsize;
阅读全文
摘要:二叉搜索树的中序遍历为有序数组,利用此特性解决问题
阅读全文
摘要:递归三要素:每次写递归想到这三要素 1.确定递归函数的参数以及返回值 2.确定递归的出口 3.确定单层递归的逻辑 二叉树结构体: struct Treenode{ public: int val; TreeNode* left; TreeNode* right; TreeNode() : val(0
阅读全文
摘要:题目:给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 https://leetcode-cn.com/problems/top-k-frequent-elements/ 解法一:优先队列+小根堆 //一种小根堆思路 class So
阅读全文