Qouson's blog Qouson's blog
首页
  • Java 基础

    • 基础
    • String
  • Java 中级

    • 网络编程
  • Java 高级

    • JVM
    • 多线程
  • Spring
  • SpringMVC
  • SpringBoot
  • MySQL
  • Redis
  • MQ
  • ZooKeeper
  • git
  • linux
  • 设计模式
  • 数据结构与算法
  • 计算机基础
  • Java相关框架
  • 分布式
  • DDD领域驱动设计
  • 系统设计
  • 杂乱无章
Java知识图谱
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

qouson

Java界的小学生
首页
  • Java 基础

    • 基础
    • String
  • Java 中级

    • 网络编程
  • Java 高级

    • JVM
    • 多线程
  • Spring
  • SpringMVC
  • SpringBoot
  • MySQL
  • Redis
  • MQ
  • ZooKeeper
  • git
  • linux
  • 设计模式
  • 数据结构与算法
  • 计算机基础
  • Java相关框架
  • 分布式
  • DDD领域驱动设计
  • 系统设计
  • 杂乱无章
Java知识图谱
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • git

  • linux

  • 设计模式

  • 数据结构与算法

    • algorithm
    • 常用技巧
      • 数组
        • 遍历二维数组
      • 方向数组
    • 反转链表
  • 计算机基础

  • Java相关框架

  • 分布式

  • DDD领域驱动设计

  • 系统设计

  • DevOps

  • python

  • 杂乱无章

  • 更多
  • 数据结构与算法
qouson
2024-05-23
目录

常用技巧

# 常用技巧

# 数组

# 遍历二维数组

  • 斜着遍历二维数组的右上角
// 如数组
// {
// {1,2,3},
// {4,5,6},
// {7,8,9},
// }
// 遍历之后的结果是2,6,3。相当于遍历对角线上面的元素
for(int l=2;l<=n;l++){
    for(int i=0;i<=n-l;i++){
        int j=i+l-1;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
// 向右上斜着遍历。
n = len(dp)
for l in range(1, n):
    for i in range(n - l):
        j = l + i
        dp[i][j] .....
1
2
3
4
5
6

# 方向数组

 // 方向数组 d 是上下左右搜索的常用手法
int[][] d = new int[][]{{1,0}, {0,1}, {0,-1}, {-1,0}};
 // 获得上下左右的坐标
for (int k = 0; k < 4; k++) {
    int x = i + d[k][0];
    int y = j + d[k][1];
}
1
2
3
4
5
6
7
编辑 (opens new window)
上次更新: 2024/05/24, 11:36:46
algorithm
反转链表

← algorithm 反转链表→

最近更新
01
杂乱无章
12-25
02
基础-大彬
11-14
03
集合-大彬
11-14
更多文章>
Theme by Vdoing | Copyright © 2023-2025 qouson
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式