摘要:
滑动窗口算法的思路是这样: 1、我们在字符串 S 中使用双指针中的左右指针技巧,初始化 left = right = 0,把索引左闭右开区间 [left, right) 称为一个「窗口」。 2、我们先不断地增加 right 指针扩大窗口 [left, right),直到窗口中的字符串符合要求(包含了 阅读全文
摘要:
本题的关键是越往后找到一个最大的数与越靠前的最小的数进行交换。从右往前遍历,找到右边最大数的位置,和左边最小数的位置进行交换 时间复杂度为O(len(num)) func maximumSwap(num int) int { numStr := fmt.Sprintf("%d", num) if l 阅读全文
摘要:
package main import ( "fmt" "sync" ) type Producer struct { ID int DataStream chan int WaitGroup *sync.WaitGroup } func (p *Producer) Produce(concurre 阅读全文