logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【Leetcode】3656. Determine if a Simple Graph Exists

需要用到Erdős–Gallai theorem,参考。阶无向无权图每个点的度数组。

#算法#leetcode#c++
【C/C++】SPSC无锁队列

优化技术目的环形缓冲区(Ring Buffer)避免动态内存分配,O(1) 操作浪费一个槽位区分空和满,无需额外原子变量缓存行对齐(alignas(64))消除伪共享索引缓存(cached_head/tail)减少跨核原子读取release-acquire 语义保证数据可见性,避免过度同步无 CASSPSC 无竞争,直接 store 即可SPSC Queue 是无锁编程的入门案例,也是实际生产中高

#c语言#c++
【Leetcode】2158. Amount of New Area Painted Each Day

个区间,每次将这段区间涂色,之前涂色过的区域就不重复涂,问每次涂色的涂到的长度。那么涂色的操作就是不停找祖宗的过程。可以用线段树 + 懒标记。,并不大,不需要离散化。最小的没有被涂色的位置,所以一开始。最好的做法是并查集。是区间端点的范围),空间。

#c++#算法#leetcode
【Leetcode】846. Hand of Straights

题目地址:https://www.lintcode.com/problem/multi-keyword-sort/description给定一个由长度为222的数组作为元素的数组,要求将其排序,若第二关键字不等则按照第二关键字由大到小排,若相等则按第一关键字由小到大排。代码如下:import java.util.Arrays;public class Solution {/*** @param a

#算法#c++#leetcode
【Leetcode】845. Longest Mountain in Array

题目地址:https://leetcode.com/problems/longest-mountain-in-array/给定一个数组AAA,求其最长的子数组BBB,满足以下条件:1、BBB的长度lll大于等于333;2、存在一个下标iii,i≠0,l−1i\ne 0,l-1i​=0,l−1,并且有B[0]<B[1]<...<B[i]>B[i+1]>B[i+2]&g

#leetcode#算法#数据结构 +1
【Leetcode】460. LFU Cache

题目地址:https://leetcode.com/problems/lfu-cache/实现一个Least Frequently Used (LFU) cache。它是一个类似HashMap的数据结构,存的是key-value pair,key唯一,并可以做三种操作:1、初始化,它有一个最大容量;2、int get(int key),得到key对应的value,如果key不存在则返回−1-1−1

#数据结构#leetcode#c++ +1
【C/C++】生产者消费者

生产者-消费者模式看似简单,但正确实现需要对条件变量、互斥锁、原子操作和信号处理都有清晰的理解。关键点包括:使用两个条件变量避免死锁并精确唤醒正确类型的线程,理解 wait 的原子性释放锁和进入等待队列的机制,根据实际需求选择合适的内存序,以及优雅退出时需要唤醒所有等待线程。

#c语言#c++
【C/C++】Vector实现

实现一个完整的Vector内存管理:分离分配与构造,正确处理 capacity 和 size对象生命周期:placement new、显式析构、构造/析构顺序移动语义:移动构造、移动赋值、完美转发异常安全:强异常保证、、RAIIAllocator 模型、allocator 传播设计模式:copy-and-swap 惯用法这些概念不仅适用于Vector,也是实现其他标准库容器的基础。理解这些细节,将

#c语言#c++
【Leetcode】3607. Power Grid Maintenance

可以用并查集和哈希表套平衡树做。并查集维护能量站的连通关系,平衡树维护每个连通块里的编号顺序的信息。的祖宗,维护哈希表的value为key所在的连通块里开启的能量站的编号,这样就能找到满足条件的询问结果;开始,每个点代表一个能量站,初始的时候每个能量站都是开启的。未开启,则返回该连通块里开启的编号最小的能量站的编号,不存在就返回。只需要执行在平衡树里删除操作即可。阶无向无权图,顶点编号从。所在的连

#算法#数据结构#leetcode +1
【ACWing】896. 最长上升子序列 II

题目地址:https://www.acwing.com/problem/content/898/给定一个长NNN数列aaa,求严格单调递增的子序列的最长长度。数据范围:1≤N≤1000001\le N\le 1000001≤N≤100000−109≤x≤109-10^9\le x\le 10^9−109≤x≤109xxx是数列中的数思路是偏序集分解定理。一个偏序集的最长链的长度,就是它能分解为最少

#算法
    共 32 条
  • 1
  • 2
  • 3
  • 4
  • 请选择