置顶文章
精选分类
文章列表
leetcode-354
354. 俄罗斯套娃信封问题 给你一个二维整数数组 envelopes ,其中 envelopes [i] = [wi, hi] ,表示第 i 个信封的宽度和高度。 当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。 请计算 最多能有多少个 信封能组成一组 “俄罗斯套娃” 信封(即可以把一个信封放到另一个信封里面)。 注意:不允许旋转信封。 示例 1: 输入:envelopes = [[5,4],[6,4],[6,7],[2,3]] 输出:3 解释:最多信封的个数为 3, 组合为: [2,3] => [5,4] =>...
more...leetcode-300
300. 最长递增子序列 🔍 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如, [3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例 1: 📝 输入:nums = [10,9,2,5,3,7,101,18] 输出:4 解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。 示例 2: 📝 输入:nums = [0,1,0,3,2,3] 输出:4 示例 3: 📝 输入:nums = [7,7,7,7,7,7,7] 输出:1 提示:...
more...golang-make和new的区别
# Go 语言中 make 和 new 的区别 🔍 在 Go 语言中, make 和 new 都是用于内存分配的内建函数,但它们的使用场景和行为有着明显的区别。让我们深入了解这两个函数的特点和应用! 💡 # new 函数详解 🎯 new 函数主要用于值类型的内存分配,如 int 、 float 、 struct 等。它的特点是: func new(Type) *Type// 使用示例ptr := new(int) //ptr 的类型是 *int*ptr = 100 // 通过指针设置值fmt.Println(*ptr) // 输出: 100# new 的关键特性: 返回类型是指针...
more...Golang GC演进之路 🚀
# Golang 垃圾回收机制 🗑️ Go 语言的垃圾回收器经历了多次演进 📈,从最初的清除标记法到现在的三色标记法配合混合写屏障,每一次升级都让 GC 变得更加高效 ⚡️。让我们一起来了解这个演进过程吧!💪 # 普通清除标记法 (v1.3 以前) ⏪ 清除标记法是最基础的垃圾回收算法 🌱,其核心思想就是标记所有需要回收的对象,然后清除这些对象。 # 具体步骤 🔄 🛑 暂停程序业务逻辑(STW,Stop The World),找出不可达的对象和可达的对象 🏷️ 开始标记,程序找出它所有可达的对象,并做上标记 📍 从根对象(全局变量、栈变量等)开始遍历 🔍...
more...leetcode-322
暴力递归 func coinChange(coins []int, amount int) int { return dp(coins, amount)}func dp(conis []int,amount int) int { if amount == 0 { return 0 } if amount < 0 { return -1 } res := math.MaxInt32 for _, v := range coins {...
more...leetcode-509
暴力递归 func fib(n int) int { if n == 0 || n== 1{ return 1 } return fib(n-1) + fib(n-2)} 带备忘录的递归 func fib(n int) int { memo := make([]int,n+1) return dp(memo,n)}func dp(memo []int,n int) int { if n == 0 || n == 1{ return...
more...multiset用法
# multiset 用法 C++ 语言中,multiset 是 <set> 库中一个非常有用的类型,它可以看陈给一个序列,插入一个数,删除一个数都能在 O (logn) 的时间内完成,而且它能时刻保证序列中的数是有序的,而且序列中可以存在重复的数。 # 放入自定义类型的数据 不只是 int 类型,multiset 还可以存储其他的类型诸如 string 类型,结构(struct 或 class)类型。 而对于自定义类型 multiset 并不知道如何去比较,需要我们定义 multiset 里面的 rec 类型变量之间的小于关系的含义: struct...
more...Nunjucks使用手册
# 🎓 Nunjucks 模板引擎完全指南 # 📚 目录 什么是 Nunjucks? 基础语法 控制结构 过滤器 宏 包含和继承 实战示例 常见问题 # 🎯 什么是 Nunjucks? Nunjucks 是一个强大的 JavaScript 模板引擎,它基于 Jinja2 的语法。它允许你使用简单的模板语法来生成 HTML、CSS、JavaScript 等文件。 # 💡 基础语法 # 1. 变量输出 {{ 变量名 }} 示例: <h1>{{ title }}</h1> <p>作者:{{ author...
more...