美文网首页
算法刷题笔记 2024-09-04

算法刷题笔记 2024-09-04

作者: daydaygo | 来源:发表于2024-09-22 15:54 被阅读0次
  • 提交前RV一遍代码

why

找工作, 大厂需要现场coding, 面试也会碰到算法题

Go

支持的数据结构:

  • Containers
    • Lists: ArrayList SinglyLinkedList DoublyLinkedList
    • Stacks: LinkedListStack ArrayStack
    • Queues: LinkedListQueue ArrayQueue CircularQueue PriorityQueue
    • Sets: HashSet TreeSet LinkedHashSet
    • Maps: HashMap TreeMap LinkedHashMap HashBidiMap TreeBidiMap
    • Trees: RedBlackTree AVLTree BinaryHeap
  • Functions
    • Comparator
    • Iterator
    • Enumerable
    • Serialization
    • Sort
    • Container

  • halfrost/LeetCode-Go 阿里霜神的代码, beats 100%, 值得学习,配套的网站
    • 序章: 数据结构知识 算法知识 时间复杂度 1s内能解决的问题
    • 算法专题
    • 模板
    • leetcode题解

leetcode 刷题

准备工作

这里是一个使用demo 数组和字符串 - LeetBook - LC 旋转矩阵

  • 只用写思路
func rotate(matrix [][]int)  {
    // 旋转 = 水平翻转 + 主对角线翻转

}
  • 然后使用 cursor 生成代码
func rotate(matrix [][]int)  {
    // 旋转 = 水平翻转 + 主对角线翻转
    n := len(matrix)
    for i := 0; i < n/2; i++ {
        matrix[i], matrix[n-i-1] = matrix[n-i-1], matrix[i]
    }
}

leetcode75

LeetCode 75

  • 数组/字符串

leetcode 知识地图

大部分内容需要VIP

  • 数组和字符串
    • 数组
      • 寻找数组中心索引: 先求 sum, 在遍历求满足条件 leftSum = sum - leftSum - num
      • 搜索插入的位置: 二分查找, 闭区间的例子 l<=r target<=a[mid]
      • 合并区间: 先排序后遍历, 可以用双变量优化
    • 二维数组
      • 旋转矩阵: 顺时钟90度 = 水平翻转 + 主对角线翻转
      • 零矩阵

相关文章

网友评论

      本文标题:算法刷题笔记 2024-09-04

      本文链接:https://www.haomeiwen.com/subject/rfqxrjtx.html