IOS面试算法题(4)——反斜对角线打印矩阵
来源:互联网 发布:淘宝评价过期有信誉 编辑:程序博客网 时间:2024/05/22 05:12
今天给大家介绍两种反斜对角线打印矩阵方式
//// main.c// 反向斜对角线打印//// Created by cuixuerui on 15/12/19.// Copyright (c) 2015年 cuixuerui. All rights reserved.//#include <stdio.h>/* 一个M行N列的数组,要求反向斜对角线(右上左下)的方式打印该数组。(******) 0123 4567 891011 打印顺序是 0 1 4 2 5 8 3 6 9 7 10 11 */int main(int argc, const char * argv[]) { int m,n; scanf("%d%d",&m,&n); int a[m][n]; int count=0; for (int i=0; i<m; i++) { for (int j=0; j<n; j++) { a[i][j]=count++; printf("%d ",a[i][j]); } printf("\n"); } /* 第一层:a[0][0].................... i+j=0 第二层:a[0][1] a[1][0]............ i+j=1 第三层:a[0][2] a[1][1] a[2][0].... i+j=2 第四层:a[0][3] a[1][2] a[2][1].... i+j=3 第五层:a[1][3] a[2][2]............ i+j=4 第六层:a[2][3].................... i+j=5 */ int num=0; /////////////////优化后的算法//////////////// printf("*****优化后的算法*****\n"); int low=0; //i的下限 while (num<(m+n-1)) {//i+j=5,3*4的数组循环6次 if(num>=n){ //打印下半部分的时候i的下标开始+1 low++; } for (int i=low;i<m; i++) { printf("%d ",a[i][num-i]); if (num==i) { //列的下标等于0的时候,跳出。 break; } } printf("\n");//加一个换行可以看得更加明了 num++; } /////////////////介绍一种暴力破解办法(穷举法)//////////////// //简单粗暴,超级好理解 printf("*****暴力破解办法(穷举法)*****\n"); int k=0; while (k<(m+n-1)) { for (int i=0; i<m; i++) { for (int j=0; j<n; j++) { if (i+j==k) { printf("%d ",a[i][j]); } } } k++; printf("\n"); } }
1 0
- IOS面试算法题(4)——反斜对角线打印矩阵
- 斜对角线打印矩阵
- IOS面试算法题(3)——螺旋矩阵
- 沿对角线打印矩阵
- 面试算法①——转圈打印矩阵
- 面试算法(十九)顺时针打印矩阵
- java,根据对角线打印矩阵
- oj-14-矩阵对角线和反对角线的和
- ios面试算法题(5)——扑克发牌、最小和差问题、V字图形打印
- 常见面试算法之转圈打印矩阵
- 常见面试算法之旋转打印矩阵
- 求一个矩阵中连续四个数字(行,列,正、反对角线)乘积的最大值。
- 每天一道算法题——顺时针打印矩阵
- 经典算法——顺时针打印矩阵
- nxn矩阵求和(对角线)
- 顺时针打印出矩阵(面试编程或者上机题)
- 算法题/顺时针打印矩阵
- 斜对角线顺序填充矩阵(very useful in DP)
- 基于cuda的gpu加速
- 【杭电】[2016]数据的交换输出
- IOS网络开发NSURLSession详解(一)概述
- visual studio的学习
- PHP 7 值得期待的新特性(下)
- IOS面试算法题(4)——反斜对角线打印矩阵
- LeetCode 290:Word Pattern
- 最高分是多少(华为机试)
- python核心编程-标准类型派生-可变类型
- [leetcode] 20. Valid Parentheses 解题报告
- 用python写一个windows下的定时关机脚本
- 一种可能的新的人脑信息网络模型
- BZOJ2132: 圈地计划
- Sublime Text配置集锦