Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 17c50af

Browse files
feat: add java solution to lc problem: NO.1329. Sort the Matrix Diagonally (doocs#548)
1 parent fef66df commit 17c50af

File tree

3 files changed

+69
-2
lines changed

3 files changed

+69
-2
lines changed

‎solution/1300-1399/1329.Sort the Matrix Diagonally/README.md‎

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,29 @@
5959
<!-- 这里可写当前语言的特殊实现逻辑 -->
6060

6161
```java
62-
62+
class Solution {
63+
public int[][] diagonalSort(int[][] mat) {
64+
for (int i = 0; i < mat.length; i++) {
65+
handler(mat, i, 0);
66+
}
67+
for (int i = 0; i < mat[0].length; i++) {
68+
handler(mat, 0, i);
69+
}
70+
return mat;
71+
}
72+
73+
public void handler(int[][] mat, int i, int j) {
74+
for (; i < mat.length && j < mat[0].length; i++, j++) {
75+
for (int k = i + 1, p = j + 1; k < mat.length && p < mat[0].length; k++, p++) {
76+
if (mat[k][p] < mat[i][j]){
77+
int temp = mat[k][p];
78+
mat[k][p] = mat[i][j];
79+
mat[i][j] = temp;
80+
}
81+
}
82+
}
83+
}
84+
}
6385
```
6486

6587
### **...**

‎solution/1300-1399/1329.Sort the Matrix Diagonally/README_EN.md‎

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,29 @@
4747
### **Java**
4848

4949
```java
50-
50+
class Solution {
51+
public int[][] diagonalSort(int[][] mat) {
52+
for (int i = 0; i < mat.length; i++) {
53+
handler(mat, i, 0);
54+
}
55+
for (int i = 0; i < mat[0].length; i++) {
56+
handler(mat, 0, i);
57+
}
58+
return mat;
59+
}
60+
61+
public void handler(int[][] mat, int i, int j) {
62+
for (; i < mat.length && j < mat[0].length; i++, j++) {
63+
for (int k = i + 1, p = j + 1; k < mat.length && p < mat[0].length; k++, p++) {
64+
if (mat[k][p] < mat[i][j]){
65+
int temp = mat[k][p];
66+
mat[k][p] = mat[i][j];
67+
mat[i][j] = temp;
68+
}
69+
}
70+
}
71+
}
72+
}
5173
```
5274

5375
### **...**
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
class Solution {
2+
public int[][] diagonalSort(int[][] mat) {
3+
for (int i = 0; i < mat.length; i++) {
4+
handler(mat, i, 0);
5+
}
6+
for (int i = 0; i < mat[0].length; i++) {
7+
handler(mat, 0, i);
8+
}
9+
return mat;
10+
}
11+
12+
public void handler(int[][] mat, int i, int j) {
13+
for (; i < mat.length && j < mat[0].length; i++, j++) {
14+
for (int k = i + 1, p = j + 1; k < mat.length && p < mat[0].length; k++, p++) {
15+
if (mat[k][p] < mat[i][j]){
16+
int temp = mat[k][p];
17+
mat[k][p] = mat[i][j];
18+
mat[i][j] = temp;
19+
}
20+
}
21+
}
22+
}
23+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /