首页 > 其他分享 >1.8.21二维数组右上左下遍历

1.8.21二维数组右上左下遍历

时间:2023-08-20 15:56:45浏览次数:47  
标签:遍历 21 int 右上 数组 列数 左下 col row

1.题目

描述

给定一个row行col列的整数数组array,要求从array[0][0]元素开始,按从左上到右下的对角线顺序遍历整个数组。

输入

输入的第一行上有两个整数,依次为row和col。余下有row行,每行包含col个整数,构成一个二维整数数组。

(注:输入的row和col保证0 < row < 100, 0 < col < 100)

输出

按遍历顺序输出每个整数。每个整数占一行。

样例输入

3 4
1 2 4 7
3 5 8 10
6 9 11 12

样例输出

1
2
3
4
5
6
7
8
9
10
11
12
2.题目意思总结
从题目可知,已知一个二维数组,要求按从左上到右下的对角线顺序遍历整个数组,我们需要找到遍历过程中隐藏的规律,
就能编写出通向的代码,从而解决问题。
3.解题思路
1)输入
2)根据“前半段每条线的起始点行数为1,列数为g(其中g指正在遍历的第g条线)。后半段每条线的起始点行数为(g+1-数组的列数),列数为数组的列数”的规律,依次遍历(输出)。
4.代码实现

#include<bits/stdc++.h>
using namespace std;
int main(){
  int n,m,a[101][101],i,k;
  cin>> n>> m;
  for(int n1=1;n1<=n;n1++){
    for(int m1=1;m1<=m;m1++){//输入。
      cin>> a[n1][m1];
    }
  }
  for(int g=1;g<=n+m-1;g++){
    if(g<=m){//判断在前半段还是后半段,并做出相应的操作。
      i=1;
      k=g;
    }
    else{
      i=g+1-m;
      k=m;
    }
    while(i<=n and k>=1){//遍历整条线。
      cout<< a[i][k]<< endl;
      i++;
      k--;
    }
  }
  return 0;
}

5.重难点总结

1)通过题目描述,找到一般规律。

2)不要弄混行和列

 

标签:遍历,21,int,右上,数组,列数,左下,col,row
From: https://www.cnblogs.com/365760dqz/p/17644091.html

相关文章

  • api分享103.216.155.x
    在日常生活中,我们有很多类似api场景,比如电脑需要调用手机里面的信息,这个时候会拿一个数据线将电脑和手机连接起来,电脑和手机连接数据线的接口就是我们所说的api接口。常见web接口是http/https协议的接口,API是处理系统之间数据传输的媒介。在API调用过程中,客户端会通过API发送请求,A......
  • 华为数通方向HCIP-DataCom H12-821题库(单选题:161-180)
    第161题以下关于URPF(UnicastReversePathForwarding)的描述,正确的是哪一项A、部署了严格模式的URPF,也能够可以同时部署允许匹配缺省路由模式B、如果部署松散模式的URPF,默认情况下不需要匹配明细路由C、如果部署松散模式的URPF,如果需要检查默认路由,则需要检查接口是否匹配......
  • 在 win10 2021 LTSC 上安装配置 wsl2 和 ubuntu
    在win102021LTSC上安装配置wsl2和ubuntu的过程:win10系统启用wsl2:wsl--install----no-distribution(安装wsl2,会自动打开系统feature:wsl子系统,虚拟机平台.不再需要去控制面板--启用windows特性)设置wsl默认版本为wsl2:wsl--set-defa......
  • DsReplicaGetInfo() failed with status 8453 (0x2105): Replication access was d
    Whenusingthe repadmin/showrepl commandtocheckreplicationhealthstatusonyourWindowsdomainenvironmentincommandpromptonSindowsServerendofresultyoumayseethefollowingerrormessage:DsReplicaGetInfo()failedwithstatus8453(0x2105):......
  • 【剑指Offer】21、栈的压入、弹出序列
    【剑指Offer】21、栈的压入、弹出序列题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该......
  • Linux Mint 21.3 计划于 2023 年圣诞节发布
    Linux Mint项目近日公布了基于Ubuntu的LinuxMint发行版下一个重要版本的一些初步细节,以及备受期待的基于Debian的LMDE6(LinuxMintDebianEdition)版本。近日,LinuxMint项目负责人克莱门特-勒菲弗(ClementLefebvre)给出了答案:LinuxMintDebianEdition6的开......
  • 【21.0】结合celery改造接口
    【一】引入所有接口都可以改造,尤其是查询所有的这种接口,如果加入缓存,会极大的提高查询速度首页轮播图接口:获取轮播图数据,加缓存---》咱们只是以它为例【二】改造轮播图接口luffyCity\luffyCity\apps\home\views.pyclassBannerView(GenericViewSet,CommonListMod......
  • 【LeetCode2199. 找到每篇文章的主题】字符串处理题,使用MySQL里的group_concat和LOCAT
    题目地址https://leetcode.cn/problems/finding-the-topic-of-each-post/description/代码witht1as(selectp.*,k.*fromPostspleftjoinKeywordskonLOCATE(LOWER(CONCAT('',word,'')),LOWER(CONCAT('',conte......
  • 【LeetCode2118. 建立方程】 group_concat指定分隔符,指定排序顺序
    目录题目地址题目描述代码题目地址https://leetcode.cn/problems/build-the-equation/description/题目描述Example2:输入:Terms表:+-------+--------+|power|factor|+-------+--------+|4|-4||2|1||1|-1|+-------+---......
  • [代码随想录]Day21-回溯算法part01
    题目:77.组合思路:回溯就是dfs的一个特殊情况也就是递归的一种情况,值得注意的一点:要记得深拷贝,不然最后全是空代码:varres[][]intvarpath[]intfunccombine(nint,kint)[][]int{res=[][]int{}path=make([]int,0,k)Combine(n,1,k,0)ret......