avatar
文章
177
标签
35
分类
22
首页
文章
  • 归档
  • 分类
  • 标签
  • 说说
摄影集
友链
留言板
关于我
DeepThinking深思
搜索
首页
文章
  • 归档
  • 分类
  • 标签
  • 说说
摄影集
友链
留言板
关于我

DeepThinking深思

【Golang】BFS
发表于2025-06-18|算法LeetCode
LeetCode BFS 练习题单与模板总结 (Golang 实现)BFS(广度优先搜索)是一种重要的图遍历算法,特别适合解决最短路径、层次遍历等问题。以下是 Golang 实现的 BFS 模板和分类练习题单。 BFS 通用模板 (Golang)1. 树的 BFS 模板123456789101112131415161718192021222324252627282930313233343536type TreeNode struct { Val int Left *TreeNode Right *TreeNode}func levelOrder(root *TreeNode) [][]int { if root == nil { return [][]int{} } var result [][]int queue := []*TreeNode{root} for len(queue) > 0...
【Golang】滑动窗口
发表于2025-06-17|算法LeetCode
Golang 滑动窗口模板与套路详解针对 LeetCode 1004(最大连续1的个数 III)这类问题,以下是专门为 Golang 开发者准备的滑动窗口实现模板、适用场景和常见变种: Golang 滑动窗口模板(1004 类型)12345678910111213141516171819202122232425func longestOnes(nums []int, k int) int { left, maxLen, zeroCount := 0, 0, 0 for right := 0; right < len(nums); right++ { // 1. 右指针移动:更新窗口状态 if nums[right] == 0 { zeroCount++ } // 2. 左指针移动:当窗口不合法时收缩 for zeroCount > k { if nums[left] == 0...
【Golang】slice append 和copy对比
发表于2025-06-16|编程语言Golang
正确123456789101112131415161718 func reconstructQueue(people [][]int) [][]int { //先将身高从大到小排序,确定最大个子的相对位置 sort.Slice(people,func(i,j int)bool{ if people[i][0]==people[j][0]{ return people[i][1]<people[j][1]//这个才是当身高相同时,将K按照从小到大排序 } return people[i][0]>people[j][0]//这个只是确保身高按照由大到小的顺序来排,并不确定K是按照从小到大排序的 }) //再按照K进行插入排序,优先插入K小的 result := make([][]int, 0) for _, info := range people { result = append(result,...
【Golang】 switch使用
发表于2025-06-16|编程语言Golang
在 Go 语言中,switch 语句提供了灵活的条件分支控制,相比其他语言有更多特性。以下是详细用法和示例: 1. 基础值匹配12345678910111213day := 3switch day {case 1: fmt.Println("Monday")case 2: fmt.Println("Tuesday")case 3: fmt.Println("Wednesday") // 输出case 4: fmt.Println("Thursday")default: fmt.Println("Weekend")} 2. 多值匹配(逗号分隔)123456789char := 'a'switch char {case 'a', 'e', 'i', 'o', 'u': ...
【转载】Golang 新手可能会踩的 50 个坑
发表于2025-06-16|编程语言Golang
转载:wuYin/blog 原文:50 Shades of Go: Traps, Gotchas, and Common Mistakes,翻译已获作者 kcqon 授权。 不久前发现在知乎这篇质量很高的文章,打算加上自己的理解翻译一遍。文章分为三部分:初级篇 1-34,中级篇 35-50,高级篇 51-57 前言Go 是一门简单有趣的编程语言,与其他语言一样,在使用时不免会遇到很多坑,不过它们大多不是 Go 本身的设计缺陷。如果你刚从其他语言转到 Go,那这篇文章里的坑多半会踩到。 如果花时间学习官方 doc、wiki、讨论邮件列表、 Rob Pike 的大量文章以及 Go 的源码,会发现这篇文章中的坑是很常见的,新手跳过这些坑,能减少大量调试代码的时间。 初级篇:1-341. 左大括号 { 一般不能单独放一行在其他大多数语言中,{ 的位置你自行决定。Go 比较特别,遵守分号注入规则(automatic semicolon injection):编译器会在每行代码尾部特定分隔符后加 ; 来分隔多条语句,比如会在 )...
Golang 学习资料
发表于2025-06-16|编程语言Golang
learning/golang/README.md at 8de2b0bd2ad36d296e1808080073cdb8521627af · anzhihe/learning Golang learning book and source code- Head First Go英文版- Go程序设计语言- Go语言实战- Go语言核心编程笔记- Go学习笔记 第四版- Go源码剖析(书签版)- Go_web_编程- Go Web 编程- Go并发编程实战_第1版- Go并发编程实战_第2版_Lite- Go语言并发之道- Go网络编程- Go语言圣经(中文版)- 2020最新Gin框架中文文档- 大厂Go工程师面试题集锦- Golang常见面试题目解析 Golang官网 Golang doc The Go Blog Golang github Go by Example The Go Playground Golang 新手可能会踩的 50 个坑 Go语言101 Go语言中文网 Go 语言学习资料与社区索引 Go...
Golang list.List 双向链表实现LRU
发表于2025-06-16|算法LeetCode
Go语言中使用双向链表(list.List)实现LRU缓存LeetCode第146题”LRU缓存”来演示如何在Go语言中使用container/list包中的双向链表。 LRU缓存题目要求设计一个LRU (Least Recently Used) 缓存机制,它应该支持以下操作: Get(key): 如果密钥存在则获取值,否则返回-1 Put(key, value): 如果密钥不存在,则写入数据;当缓存容量达到上限时,删除最久未使用的数据 实现方案我们将使用container/list包中的双向链表来跟踪访问顺序,同时使用map来实现快速查找。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758import ( "container/list")// LRUCache 结构体type LRUCache struct { capacity int ...
Obsidian配置代理
发表于2025-06-16|综合工具
在 Obsidian 中设置代理(Proxy)需要通过 系统环境变量 或 插件 来实现,因为 Obsidian 本身没有内置的代理设置选项。以下是几种方法: 方法 1:通过环境变量设置全局代理(推荐)Obsidian 是基于 Electron 的应用程序,它会遵循系统的 HTTP/HTTPS 代理设置。你可以通过以下方式设置: Windows 临时设置(仅当前终端窗口有效)在 CMD/PowerShell 中运行: 123set http_proxy=http://127.0.0.1:7897set https_proxy=http://127.0.0.1:7897set all_proxy=socks5://127.0.0.1:7897 然后启动 Obsidian: 1start "" "C:\path\to\Obsidian.exe" 永久设置(系统环境变量)我使用的这个 按 Win + R,输入 sysdm.cpl 打开 系统属性。 进入 高级 → 环境变量。 在 用户变量 或 系统变量...
【Golang】 函数传入slice无法修改到原slice
发表于2025-06-15|算法LeetCode
46. 全排列 - 力扣(LeetCode) 1234567891011121314151617181920212223242526272829303132333435363738func permute(nums []int) [][]int { res := [][]int{} track := []int{} used := make([]bool, len(nums)) backtrack(nums, track, used, &res) return res}// 回溯函数func backtrack(nums []int, track []int, used []bool, res *[][]int) { // 触发结束条件 if len(track) == len(nums) { // 因为 track 是全局变量,因此需要新建一个数组来存储一份全排列 temp := make([]int,...
Golang LeetCode 刷题必备基础和常用模板
发表于2025-06-14|编程语言Golang
Golang LeetCode 刷题必备基础备忘录1. 基础数据结构用法数组/切片 (Slice)12345678910// 初始化arr := []int{1, 2, 3}slice := make([]int, 5) // 长度5slice2 := make([]int, 0, 10) // 长度0,容量10// 操作slice = append(slice, 4) // 追加len(slice) // 长度copy(dest, src) // 复制sort.Ints(slice) // 排序 字符串 (String)1234567891011121314// 基本操作s := "hello"len(s) // 字节长度(非字符数)utf8.RuneCountInString(s) // 字符数strings.Contains(s, "ell") // truestrings.Split("a,b,c", ",") //...
1…456…18
avatar
Lei Qi
记录、总结、复盘、分享
文章
177
标签
35
分类
22
Follow Me
公告

欢迎关注公众号:DeepThinking深思,本站的文章会同步发布在微信公众号,方便推送~

最新文章
GitHub Trending 日报 - 2026/03/262026-03-26
GitHub Trending 日报 - 2026/03/252026-03-25
GitHub Trending 日报 - 2026/03/242026-03-24
GitHub Trending 日报 - 2026/03/232026-03-23
GitHub Trending 日报 - 2026/03/222026-03-22
分类
  • AI2
    • AI工具1
  • 技术栈19
    • DevOps1
    • Docker1
    • Git7
    • Linux5
    • 网络4
    • 自动化1
  • 架构设计3
    • 设计模式3
  • 算法76
    • LeetCode75
    • 速刷记录1
  • 综合44
    • 工具43
    • 比赛1
  • 编程语言33
    • C++1
    • Golang27
    • Python3
    • 前端2
归档
  • 三月 2026 20
  • 二月 2026 1
  • 十一月 2025 3
  • 八月 2025 1
  • 七月 2025 5
  • 六月 2025 23
  • 五月 2025 2
  • 四月 2025 2
网站信息
文章数目 :
177
本站访客数 :
本站总浏览量 :
最后更新时间 :
Copyright © 2022-Lei Qi | leiqi.top
搜索
数据加载中