摘要: 题目: 当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中,就称这个字符串 s 是 美好 字符串。比方说,"abABB" 是美好字符串,因为 'A' 和 'a' 同时出现了,且 'B' 和 'b' 也同时出现了。然而,"abA" 不是美好字符串因为 'b& 阅读全文
posted @ 2022-12-25 22:12 danieldai 阅读(32) 评论(0) 推荐(0) 编辑
摘要: class Solution { public: int longestSubstring(string s, int k) { return dfs(s,k); } int dfs(string s,int k ){ //求字符串中最长的每个字符都不少k的子串长度 int cnt[26] = {0 阅读全文
posted @ 2022-12-25 18:07 danieldai 阅读(13) 评论(0) 推荐(0) 编辑
摘要: class Solution { public: int longestSubstring(string s, int k) { int res_left = 0, res_right = 0; for(int t = 1;t <= 26; t++){//分成26种情况讨论 int left=0,r 阅读全文
posted @ 2022-12-25 17:30 danieldai 阅读(17) 评论(0) 推荐(0) 编辑
摘要: #include<iostream> #include<vector> #include<string> using namespace std; // 处理模式串,每一个位置都赋值为已匹配的位数 vector<int> next_pos(string pattern){ //初始化next vec 阅读全文
posted @ 2022-11-27 01:05 danieldai 阅读(107) 评论(0) 推荐(0) 编辑
摘要: #include <iostream> using namespace std; // 辗转相除法求最大公约数, 用大的模小的,然后用除数模余数,该接口在新版的C++17的numeric 包中也有 int gcd1(int a ,int b ){ if(a>b){ while(a%b != 0 ){ 阅读全文
posted @ 2022-11-12 03:20 danieldai 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 找规律 , 除了一行 和 两行需要特殊处理之外,其他的规律是一样的。 /* class Solution { public: string convert(string s, int numRows) { int len = s.size(); string ret_str(s); if(numRo 阅读全文
posted @ 2022-10-06 00:46 danieldai 阅读(21) 评论(0) 推荐(0) 编辑
摘要: C++ 版本的滑动窗口解决方案 class Solution { public: int lengthOfLongestSubstring(string s) { if(s.empty()) return 0; unordered_map<char,int> sub_map; int left=0; 阅读全文
posted @ 2022-10-04 19:37 danieldai 阅读(21) 评论(0) 推荐(0) 编辑
摘要: #if 0 class Solution { public: int numTrees(int n) { vector<int> s(n+1); // 取值范围有n个数,取n个数范围内的任意一个树做根节点的二叉搜索树的种数的和 /** 那么对于任意数 i 做 根节点,那么 i 的左侧 有i-1个数, 阅读全文
posted @ 2022-09-25 21:29 danieldai 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 动态转移方程使用二维数组 class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 计算01背包问题的结果 * @param V int整型 背包的体积 * @param n int整型 物品的个数 * @param v 阅读全文
posted @ 2022-09-12 12:09 danieldai 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 感觉有点像0-1 背包问题,找到动态转移方程,保存上一次的解, 情况一: S[i] = Max{ nums[i] + S[i+k]}; ョk∈ {1,nums[i]},S[i+k]≠0 。 在{1,nums[i]} 范围,存在k 使S[i+k] 不为0 情况二: S[i] = 0 ; ∀k∈{1,n 阅读全文
posted @ 2022-09-07 11:40 danieldai 阅读(66) 评论(0) 推荐(0) 编辑