Simon Shi的小站

人工智能,机器学习, 强化学习,大模型,自动驾驶

0%

LeetCode

C++�����������

��ҵ��Ŀ��
����������ݣ�5X5���������飩��
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

˼·��
ʹ�ö�ά���飬Ϊʹ�䲻������5X5����ά������һ����̬�Ķ�ά���飬�����±�ֱ�Ϊx��y,���� arr[x][y]��
ʹ��forѭ����ѭ����ʼֵtempΪ1����������ΪtempС�����������±���˵õ��Ļ���ȱʡѭ�����ñ���ʽ��forѭ���ڻ���4��forѭ��
ѭ����ʼ������ͼ��

****

��һȦ���ӵ�һ�ŵ�һ����ʼ
3.1 ��һ��ѭ������������Ҹ�ֵ
3.2 �ڶ���ѭ����������ϵ��¸�ֵ
3.3 ������ѭ����������ҵ���ֵ
3.4 ���ĸ�ѭ����������µ��ϸ�ֵ��
��һ�Σ�ѭ��������
�ڶ�Ȧ�������±������������λ���ڶ��ŵڶ�������ִ�������ѭ����
����Ȧ�������±������������λ�������ŵ���������ִ�������ѭ��
����
ѭ��������
4��ʹ������ѭ����������顣
5. ɾ����̬����

����ʵ�ִ������£�
1������������

2����������

3��ѭ����ʼ��
���½�˵�� 5 X 5 Ϊ����

3.1 ��һ��ѭ������������Ҹ�ֵ
K = 25��temp = 1
��һȦ��arr[0][0] = 1 �� arr[0][1] = 2 �� arr[0][2] = 3��arr[0][3] = 4
�ڶ�Ȧ��arr[1][1] = 17�� arr[1][2] = 18

3.2 �ڶ���ѭ����������ϵ��¸�ֵ
��һȦ��arr[0][4] = 5 �� arr[1][4] = 6 �� arr[2][4] = 7��arr[3][4] = 8
�ڶ�Ȧ��arr[1][3] = 19��arr[2][3] = 20

3.3 ������ѭ����������ҵ���ֵ
��һȦ��arr[4][4] = 9 �� arr[4][3] = 10 �� arr[4][2] = 11��arr[4][1] = 12
�ڶ�Ȧ��arr[3][3] = 21��arr[3][2] = 22

3.4 ���ĸ�ѭ����������µ��ϸ�ֵ
��һȦ��arr[4][0] = 13�� arr[3][0] = 14�� arr[2][0] = 15��arr[1][0] = 16
�ڶ�Ȧ��arr[3][1] = 23�� arr[2][1] = 24

��ʱ������ǰ����
��һȦ��x = 0�� y = 0�� a = 0�� b = 0�� num = 0��temp = 17
�ڶ�Ȧ��x = 1�� y = 1�� a = 1�� b = 1�� num = 1��temp = 25

3.5 �����������±����¶�λ��Ȧ������
��ʱ��������
��һȦ��x = 1, y = 1, a = 1, b = 1, num = 1
��һȦ��x = 1, y = 1, a = 1, b = 1, num = 1

3.6 ����
arr[2][2] = 25

4�����

5��ɾ����ά���飬�ͷ��ڴ�

�������� 5 X 5

���±�������

�������� 11 X 7

���������forѭ���ڵ�4��forѭ�����if�жϵIJ���˵����
��ijЩ����£�����4��forѭ�����ᵼ�²����Ѿ�����ֵ���������ٴα���ֵ��ԭ���Ļᱻ���ǵ���
����if�жϺ󣬿��Ա�����������ķ�����

����ͼ���Dz���if�жϵ����н��������նԱ�������ͬλ�õ� 11 X 7��

����������
��������������������������������

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include<iostream>
using namespace std;
void main()
{
//������
int **arr = NULL;
int m, n;
cout << "��Ҫ���˼��ķ������������������� ";
cin >> n >> m;
arr = new int*[m];
for (int i = 0; i < m; i++)
{
arr[i] = new int[n];
}

// x,y �����±� a����¼�� b����¼��
int x = 0, y = 0, a = 0, b = 0;
int num = 0;//ѭ��Ȧ��
int k = m*n;//��������һ����
int temp = 1;//�����鸳��ֵ

//ѭ����ʼ
for (; temp < k; )
{
//�� a �� �� b �� n-1 �� -> ������
for (y = b; y < n - 1 - num; y++)
{
if (arr[x][y] < 0)
{
arr[x][y] = temp;
temp++;
}
// cout << "arr[" << x << "][" << y << "] = " << arr[x][y] << "\n";
}

//�� a - c �� �� d �� \|/ ���ϵ���
for (x = a; x < m - 1 - num; x++)
{
if (arr[x][y] < 0)
{
arr[x][y] = temp;
temp++;
}
// cout << "arr[" << x << "][" << y << "] = " << arr[x][y] << "\n";
}

//�� c �� �� d - b �� <- ���ҵ���
for (y = n - 1 - num; y > b; y--)
{
if (arr[x][y] < 0)
{
arr[x][y] = temp;
temp++;
}

//�� c -a �� �� b �� /|\ / ���µ���
for (x = m - 1 - num; x > a; x--)
{
if (arr[x][y] < 0)
{
arr[x][y] = temp;
temp++;
}
// cout << "arr[" << x << "][" << y << "] = " << arr[x][y] << "\n";
}

//���� �ı�����к���
x++;
y++;
a++;
b++;
num++;
/*
cout << a << "\t"
<< b << "\t"
<< x << "\t"
<< y << "\t"
<< num << "\t"
<< temp << "\n";
*/
}

//���䣬���������±���ȣ��Ҷ�Ϊ�����������,
//λ���������м���Ǹ�λ�õ��������һ������,
//ѭ���������ڴ�������
if (temp == k)
{
if (arr[x][y] <= 0)
{
arr[x][y] = temp;
}
}

//���
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
cout << arr[i][j] << '\t';
//cout << "arr[" << i << "][" << j << "] = " << arr[i][j] <<"\t";
}
cout << endl;
}

//ɾ������
for (int i = 0; i < m; i++)
{
delete[] arr[i];
}
delete arr;
}

ԭ�����ӣ�https://blog.csdn.net/weixin_44566320/article/details/90273077