这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

数据结构与算法

Leetcode题单

练习ACM模式处理输入输出网站:https://kamacoder.com/

1 - 单向链表

Linked List Operations

基础操作

链表特性

进阶操作

2 - 双向链表

Double Linked List Operations

进阶操作

高阶操作

4 - 二分查找

Binary Search 时间复杂度\(O(logn)\) 空间复杂度\(O(1)\)

基础操作

  • 35. 搜索插入位置 最佳题解
    func searchInsert(nums []int, target int) (ans int) {
      l, r, ans:= 0, len(nums)-1, len(nums) // ans=len(nums)默认target比所有num都大
      for l <= r{
          mid := (l+r)>>1
          if target <= nums[mid]{ // 如果有num比target大则更新ans
              ans = mid
              r = mid-1
          }else{
              l = mid+1
          }
      }
      return
    }