speaking part

[代码随想录]Day49-动态规划part17

题目:647. 回文子串 思路: 整体上是两种,就是s[i]与s[j]相等,s[i]与s[j]不相等这两种。 当s[i]与s[j]不相等,那没啥好说的了,dp[i][j]一定是false。 当s[i]与s[j]相等时,这就复杂一些了,有如下三种情况 情况一:下标i 与 j相同,同一个字符例如a,当然 ......
随想录 随想 代码 动态 part

## day14 - 二叉树part01

day14 - 二叉树part01 力扣144. 二叉树的前序遍历 最基本的递归调用,递推三个关键 参数和返回值 终止条件 每一层的逻辑 代码: 递归法 class Solution { public: vector<int> result; void traverse(TreeNode* root ......
part day 14 01

Learn Git in 30 days——第 20 天:修正 commit 过的版本历史记录 Part 2

写的非常好的一个Git系列文章,强烈推荐 原文链接:https://github.com/doggy8088/Learn-Git-in-30-days/tree/master/zh-cn 在版本控制过程中,还有个常见的状況,那就是当执行了多个版本之后,才发现前面有几个版本改错了,例如你不小心把测试中 ......
版本 commit 历史 Learn days

[代码随想录]Day48-动态规划part16

题目:583. 两个字符串的删除操作 思路: 还是最长公共子序列,假设最长公共子序列长度是l;那么需要删除的次数是len(s1) - l + len(s2) - l 代码: func minDistance(word1 string, word2 string) int { lens1 := len ......
随想录 随想 代码 动态 part

## day13 - 栈与队列part03

day13 - 栈与队列part03 力扣239. 滑动窗口的最大值 思路:利用单调队列,很难想的出来。 因为每次是进一个数,弹出一个数,因此没必要每次都进行排序,只需要拿到最大值即可。 用单调队列实现,是一个双向队列 pop()函数:如果要pop的值是队列头部的值,那么就弹出,否则不操作。 pus ......
队列 part day 13 03

## day11 - 栈与队列part02

day11 - 栈与队列part02 力扣20. 有效的括号 思路: 利用栈的特性,遇见左括号就把右括号压栈,遇见右括号,就对比和栈顶元素是否相同,不同就返回false。 代码 class Solution { public: stack<int> st; bool isValid(string s ......
队列 part day 11 02

## day10 - 栈与队列 part01

day10 - 栈与队列 part01 力扣232. 用栈实现队列 思路:建立一个输入栈,一个输出栈,每次push进队列时,放进输入栈,出队列时,从输出栈弹出,如果输出栈是空的,就把输入栈的全部数都弹出到输出栈。 代码 class MyQueue { public: MyQueue() { } vo ......
队列 part day 10 01

[代码随想录]Day47-动态规划part15

题目:392. 判断子序列 思路: 最长子序列的长度是不是len(s) 代码: func isSubsequence(s string, t string) bool { dp := make([][]int,len(s)+1) for i:=0;i<len(dp);i++{ dp[i] = mak ......
随想录 随想 代码 动态 part

20个最佳实践提升Terraform工作流程|Part 1

Terraform 是管理基础设施及代码(IaC)最常用的工具之一,它能使我们安全且可预测地对基础设施应用更改。刚开始上手 Terraform 可能会感觉有些不容易,但很快就能对该工具有基本的了解,随之可以开始运行命令、创建和重构 Terraform 代码。在此过程中,许多新用户面临着如何正确构建代 ......
工作流程 Terraform 流程 Part

[8]-代码随想录算法训练营-day9-字符串-part2

代码随想录算法训练营第九天|字符串-part2 1.Leecode 28. 找出字符串中第一个匹配项的下标 题目 https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/ 思路 暴力for循环 刷 ......
随想录 训练营 字符串 随想 算法

[7]-代码随想录算法训练营-day8-字符串-part1

代码随想录算法训练营第八天|数组字符串-part1 1.Leecode 344. 反转字符串 题目 https://leetcode.cn/problems/reverse-string/ 思路 刷随想录后想法 双指针,用swap 实现困难 无 实现代码 class Solution { publi ......
随想录 训练营 字符串 随想 算法

夜深忽梦少年事(Part9)

Part9 重获新生 再一次回到了合肥一中,顺便去听了堂MO的课,预备退役(bushi) 见到了wrq,似乎他去的雅礼培训。他问我准备的咋样,我就说了句看看能不能买D吧,其实心里确实也没底 这次还是在合一试机,省选参加的人可少多了 ......
少年 Part9 Part

day08 - 字符串 part01

day08 - 字符串 part01 力扣344. 反转字符串 超级简单,双指针,swap void reverseString(vector<char>& s) { int i = 0; int j = s.size() - 1; while (i < j) { swap(s[i], s[j]); ......
字符串 字符 part day 08

夜深忽梦少年事(Part8)

Part8 走出迷茫 分析了自己NOIP考砸的原因,那40分TLE很亏,D1T2完全是码力的退化,D1T3的30分也是写挂,D2T2的70实际上就是搜索剪枝,满分状压DP。总而言之还是代码码力的不足以及知识点的欠缺。得知WC入营分数线380,我也不绝望了,加上那40还是去不了……THUWC PKUW ......
少年 Part8 Part

[代码随想录]Day46-动态规划part14

题目:1143. 最长公共子序列 思路: 主要就是两大情况: text1[i - 1] 与 text2[j - 1]相同,text1[i - 1] 与 text2[j - 1]不相同 如果text1[i - 1] 与 text2[j - 1]相同,那么找到了一个公共元素,所以dp[i][j] = d ......
随想录 随想 代码 动态 part

Learn Git in 30 days——第 18 天:修正 commit 过的版本历史记录 Part 1

写的非常好的一个Git系列文章,强烈推荐 原文链接:https://github.com/doggy8088/Learn-Git-in-30-days/tree/master/zh-cn 当你使用 Git 进行版本控制时,我们会利用 git commit 建立许多版本,由于 Git 属分布式版本控制 ......
版本 commit 历史 Learn days

[代码随想录]Day45-动态规划part13

题目:300. 最长递增子序列 思路: dp[i]状态 取决于 dp[0] - dp[i-1]中小于dp[i]的元素中最大的值+1,即: for j:=0; j <i; j++ { if nums[i] > nums[j]{ dp[i] = max(dp[i], dp[j] + 1) } } 代码: ......
随想录 随想 代码 动态 part

[代码随想录]Day44-动态规划part12

题目:309. 买卖股票的最佳时机含冷冻期 思路: 具体可以区分出如下四个状态: 状态一:持有股票状态(今天买入股票,或者是之前就买入了股票然后没有操作,一直持有) 不持有股票状态,这里就有两种卖出股票状态 状态二:保持卖出股票的状态(两天前就卖出了股票,度过一天冷冻期。或者是前一天就是卖出股票状态 ......
随想录 随想 代码 动态 part

day07 - 哈希表 part02

力扣454. 四数相加II 思路:把四个数组分为两组,前两组的和 + 后两组的和 = 0; 利用哈希表,key为前两组的和,value为出现的次数,因为根据题意,只需输出有几种情况,因此value设置为出现的次数,然后用后两组的和的负数,作为key查找,如果找到了就count += value。 最 ......
part day 07 02

day06 - 哈希表 part01

力扣242. 有效的字母异位词 思路,将s串的每个字母哈希表表值++,再将t串每个字母的哈希表值--,如果是有效字母异位词,那么哈希表二十六个字母应该对应的是0.判断如果有不是0 的就返回false,否则为true 代码 bool isAnagram(string s, string t) { if ......
part day 06 01

即时通讯技术文集(第20期):IM架构设计技术文章(Part3) [共14篇]

为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第20 期。 [-1-] 融云技术分享:全面揭秘亿级IM消息的可靠投递机制 [链接] http://www.52im.net/thread-3638-1-1.html [摘要] 本文根据融云亿级I ......
技术 技术文章 架构 文集 通讯

[代码随想录]Day43-动态规划part11

题目:123. 买卖股票的最佳时机 III 思路: 达到dp[i][1]状态,有两个具体操作: 操作一:第i天买入股票了,那么dp[i][1] = dp[i-1][0] - prices[i] 操作二:第i天没有操作,而是沿用前一天买入的状态,即:dp[i][1] = dp[i - 1][1] 那么 ......
随想录 随想 代码 动态 part

day04 - 链表part02

力扣24. 两两交换链表中的节点 思路:设置dummy头结点,然后循环,条件是,如果cur->next 和cur->next->next都不是空,就进行交换。 交换就是用两个临时节点保存,先cur指向第二个,第二个再指向第一个,第一个再指向第三个。 代码 ListNode* swapPairs(Li ......
part day 04 02

[代码随想录]Day42-动态规划part10

题目:121. 买卖股票的最佳时机 思路: 贪心做起来更简单;dp多此一举……状态0是有买入,状态1是 代码: func maxProfit(prices []int) int { lens := len(prices) if lens == 0 { return 0 } dp := make([] ......
随想录 随想 代码 动态 part

day03 - 链表part01

力扣203. 移除链表元素 没有难度,只需掌握一个思路,即因为每次删除元素时,我们需要该元素的前一个元素的指针来操作,那么如果删除第一个元素呢?他的前一个元素无法获取因此需要进行特殊处理,而我们可以设置一个虚拟节点作为头结点,这样链表的每个元素的处理方式就统一了。 代码如下 ListNode* re ......
part day 03 01

[代码随想录]Day41-动态规划part09

题目:198. 打家劫舍 思路: 决定dp[i]的因素就是第i房间偷还是不偷。 如果偷第i房间,那么dp[i] = dp[i - 2] + nums[i] ,即:第i-1房一定是不考虑的,找出 下标i-2(包括i-2)以内的房屋,最多可以偷窃的金额为dp[i-2] 加上第i房间偷到的钱。 如果不偷第 ......
随想录 随想 代码 动态 part

[代码随想录]Day40-动态规划part08

题目:139. 单词拆分 思路: 单词就是物品,字符串s就是背包,单词能否组成字符串s,就是问物品能不能把背包装满。 拆分时可以重复使用字典中的单词,说明就是一个完全背包! 动规五部曲分析如下: 确定dp数组以及下标的含义:dp[i] : 字符串长度为i的话,dp[i]为true,表示可以拆分为一个 ......
随想录 随想 代码 动态 part

Implementing Domain Driven Design (Part Three)

# Example Use Cases This section will demonstrate some example use cases and discuss alternative scenarios. ## Entity Creation Creating an object from ......
Implementing Domain Design Driven Three

day2 - 数组part02

力扣977. 有序数组的平方 思路1:双指针,在数组中心的两个数,作为左右指针的开始,循环比较左右指针,找出最小的平方,插入到结果数组中。 此思路是错误的,因为数组中心不见得是平方最小的数,比如数组:-4,-3,-2,-1 如果要输出的话,第一个就应该输出-1,并不是最中心的数。 思路2:那我先遍历 ......
数组 day2 part day 02

Implementing Domain Driven Design (Part Two)

# Implementation: The Building Blocks This is the essential part of this guide. We will introduce and explain some **explicit rules** with examples. Y ......
Implementing Domain Design Driven Part