avatar
K*i
1
const int M = 4;
const int N = 5;
// si: row of the upper left element of the sub matrix
// sj: col of the upper left elment of the sub matrix
// m: rows of the current sub matrix
// n: cols of the current sub matrix
void PrintMatrix(int A[M][N], int si, int sj, int m, int n)
{
if (m == 0 || n == 0)
return;
if (m == 1)
{
for (int j = 0; j < n; j++)
cout << A[si + 0][sj + j] << " ";
}
else if (n == 1)
{
for (int i = 0; i < m; i++)
cout << A[si + i][sj + 0] << " ";
}
else
{
for (int j = 0; j < n - 1; j++)
cout << A[si + 0][sj + j] << " ";
for (int i = 0; i < m - 1; i++)
cout << A[si + i][sj + n - 1] << " ";
for (int j = n - 1; j > 0; j--)
cout << A[si + m - 1][sj + j] << " ";
for (int i = m - 1; i > 0; i--)
cout << A[si + i][sj + 0] << " ";
PrintMatrix(A, si + 1, sj + 1, m - 2, n - 2);
}
}
int main()
{
int A[M][N] = { {1, 2, 3, 4, 5}, {5, 6, 7, 8, 9}, {10, 11 ,12, 13,
14}, {15, 16, 17, 18, 19}};
PrintMatrix(A, 0, 0, M, N);
}
avatar
a*m
2
最近收到某低分杂志邀请写一个commentary. 不知道这个算不算自己的publication,
如果不算数我就考虑拒掉算了.
有类似经验的筒子们说说看.
thanks a lot.
avatar
r*e
3
碎了没?.gif
avatar
K*i
4
si和sj还可以合并成一个变量,它们的值是同步变化的。
avatar
c*g
5
吧邀请信拿去吹一吹吧

,

【在 a*****m 的大作中提到】
: 最近收到某低分杂志邀请写一个commentary. 不知道这个算不算自己的publication,
: 如果不算数我就考虑拒掉算了.
: 有类似经验的筒子们说说看.
: thanks a lot.

avatar
B*u
6
目的达到了,咔咔
avatar
s*n
7
写个循环的,思路和lz是一样的,同样的三个分支判断:1行/1列/多行多列
void print(int **a, int M, int N)
{
int l = 0;
int r = M-1;
int t = 0;
int b = N-1;
while (l<=r && t<=b) {
if (l==r) {
for (int i=t; i<=b; i++) printf("%d ", a[i][l]);
} else if (t==b) {
for (int i=l; i<=r; i++) printf("%d ", a[t][i]);
} else {
for (int i=l; ifor (int i=t; ifor (int i=r; i>l; i--) printf("%d ", a[b][i]);
for (int i=b; i}
l++;r--;
t++;b--;
}
}
avatar
l*w
8
我怎么觉得挺好的,说明你在这个领域知道的很多阿,要我就写了。
avatar
o*1
9
碎不了,最多变成月牙儿

【在 r*********e 的大作中提到】
: 碎了没?.gif
avatar
w*x
10
Tail recursion
avatar
l*n
11
算!如果paper多,就当review,如果review多,就当paper
总之,很有用
avatar
a*e
12
banana split
avatar
k*r
13
这还算简洁阿?代码行数还是太多了点吧
avatar
i*a
14
american kids are stupid
avatar
K*i
15
能否给个更简洁的递归或者循环版本的?

【在 k*******r 的大作中提到】
: 这还算简洁阿?代码行数还是太多了点吧
avatar
s*n
16
循环版本的我在上面写了啊

【在 K*******i 的大作中提到】
: 能否给个更简洁的递归或者循环版本的?
avatar
K*i
17
是kittybear觉得还不够简洁。
你的循环版本不错,本质上很难更简化了

【在 s******n 的大作中提到】
: 循环版本的我在上面写了啊
avatar
b*t
18
前几天google screen就考了这个题
知道是老题但是自己没写过
搞这些edge condition搞了好久
估计要挂掉了

【在 K*******i 的大作中提到】
: 是kittybear觉得还不够简洁。
: 你的循环版本不错,本质上很难更简化了

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。