平方矩阵 II--C++ 经典解析版-----编程/算法/数据结构
题目描述
输入整数 N,输出一个 N 阶的二维数组。
数组的形式参照样例。
题目来源
平方矩阵II
输入格式
输入包含多行,每行包含一个整数 N。
当输入行为 N=0 时,表示输入结束,且该行无需作任何处理。
输出格式
对于每个输入整数 N,输出一个满足要求的 N 阶二维数组。
每个数组占 N 行,每行包含 N 个用空格隔开的整数。
每个数组输出完毕后,输出一个空行。
数据范围
0≤N≤100
输入样例
1
2
3
4
5
0
输出样例
11 2
2 11 2 3
2 1 2
3 2 11 2 3 4
2 1 2 3
3 2 1 2
4 3 2 11 2 3 4 5
2 1 2 3 4
3 2 1 2 3
4 3 2 1 2
5 4 3 2 1
解析
- 这是一道找规律的题,类似平方矩阵I,这类题大多通过找横纵坐标(i/j)的关系,得到规律
- 通过观察发现,对角线i、j相等之处,是1.其他的数是由1往两边发散
- 继续通过观察,判断(除i、j相等之处)的数,都是横纵坐标之差的绝对值+1得到,于是手撸代码如下
#include <iostream>using namespace std;
int main()
{int n;while(cin >> n && n>0){for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(i==j) cout << 1 << " ";else cout << abs(i-j)+1 << " ";}cout << endl;}cout << endl;}return 0;
}
规律总结
- 编程就是找规律,写逻辑,通过将数学问题的规律转化为编程逻辑实现
- 程序要优化,力争简洁、可读性强
- 从开始的y总讲的菱形,曼哈顿距离,到平方矩阵I到x轴、y轴距离,再到现在平方矩阵II的绝对值之差
- 此类问题就是找特殊点、特殊位置,观察特殊位置,寻找ij之间的关系,寻找距离比例、和差积余等
我的Gitee开源项目
大数据/数仓、数据结构、算法、机器学习等
(路过的童鞋可以给个小star,感谢~)
我的微信公众号
:Hadoop大数据开发
(欢迎关注,一起学习,一起进步~)
平方矩阵 II--C++ 经典解析版-----编程/算法/数据结构相关推荐
- AcWing 754. 平方矩阵 II
文章目录 AcWing 754. 平方矩阵 II AC代码 AcWing 754. 平方矩阵 II 本题链接:AcWing 754. 平方矩阵 II 本博客给出本题截图: AC代码 代码: #incl ...
- 754. 平方矩阵 II
754. 平方矩阵 II 输入整数 N,输出一个 N 阶的二维数组. 数组的形式参照样例. 输入格式 输入包含多行,每行包含一个整数 N. 当输入行为 N=0 时,表示输入结束,且该行无需作任何处理. ...
- AcWing754. 平方矩阵 II
题目 输入整数 N,输出一个 N 阶的二维数组. 数组的形式参照样例. 输入格式 输入包含多行,每行包含一个整数 N. 当输入行为 N=0 时,表示输入结束,且该行无需作任何处理. 输出格式 对于每个 ...
- 【寒假每日一题】平方矩阵 II(个人练习)详细题解+推导证明(第十四天)
文章目录 前言 题目 详细题解 写法1 O(n2)O(n^2)O(n2) 推导证明 写法2 O(n2)O(n^2)O(n2) 推导证明 写法3 O(n2)O(n^2)O(n2) 推导证明 举一反三 总 ...
- 平方矩阵 I II III 题解
AcWing 753. 平方矩阵 I 题目描述 AcWing 753. 平方矩阵 I 思路 每个点处的值为该位置到上下左右四个边界距离的最小值. 代码 import java.util.Scanner ...
- Java 搜索二维矩阵 II
搜索二维矩阵 II 中等 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target .该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上到下升序排列. 示 ...
- 代码随想录算法训练营第二天|leetcode 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
leetcode 977.有序数组的平方 想到昨天写的双指针,十分刻意用了一下,感觉还是比较生疏,还得加强练习和思考,然后发现还需要排序,想到了vector的排序sort(),但是觉得直接用不好,也忘 ...
- 代码随想录算法训练营第二天 | LeetCode977有序数组的平方 、209长度最小的子数组、 59.螺旋矩阵II
--------------------------- 977.有序数组的平方 #include <iostream> #include <algorithm> #includ ...
- day 2 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
学习链接 题目链接: https://leetcode.cn/problems/squares-of-a-sorted-array/ https://leetcode.cn/problems/mini ...
- 随想录一期 day2 [977.有序数组的平方|209. 长度最小的子数组|59.螺旋矩阵II(剥洋葱)]
977.有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 思路 递增数组,平方后最大值一定在最左侧或者最右侧,可想到– ...
最新文章
- 【转】XCode: duplicate symbol 解决方案
- KindEditorckplayer的简单结合
- 楼层效果_1一28高楼最好最吉利的楼层是哪层?选楼层要注意什么?
- python函数参数学习_python学习笔记-11.函数参数和返回值进阶
- picacg服务器维护,picacg的服务器地址是什么
- html调用一个php文件路径_HTML中利用js调用php的内容
- 基于OpenCV实现------图像的转置
- C++ Vectors
- 强化学习实战(四)基于强化学习的倒立摆控制策略Matlab实现(附代码) 二刷
- Unity3D-射线效果
- 【2019】Power BI 9月产品功能更新解读
- char 类型的取值范围
- matlab做聚类分析(简单的直接用clusterdata)
- 《合作的进化》pdfmobiepub电子版
- 图片从服务器在网页显示,spring从服务器磁盘读取图片,然后显示于前端页面上...
- 利用神经网络逼近sin(x)函数
- Facebook 新一代 React 状态管理库 Recoil
- 透过招股书看知乎的价值投资逻辑
- 阿里钉钉技术分享:企业级IM王者——钉钉在后端架构上的过人之处
- SOC计算方法:电流积分+开路电压