矩阵是否含距离k的重复值
来源:互联网 发布:鼠标宏编程怎么设置 编辑:程序博客网 时间:2024/06/05 20:24
帮人做的一个题,矩阵啊啊啊啊
也算是复习了一下,二维数据的动态分配内存和释放了
不知道还有没有更简单的方法,有没有自己没考虑到的细节了
矩阵中找到有木有距离为K的重复值
/*第一题:Array Matrix.Write a function that determines whether a two dimensional arraycontains duplicate values within k indices of each other .The first line of input will be a numberindicating how many rows are in the matrix.This will be followed by lines of input one for each row of the matrixeach row will contain the same number of columnswith each column separated by a space.Following the matrix will be a single line of inputcontaining a number indicating the k value.Output should be ‘YES’ or ‘NO’example:41 2 3 45 6 7 89 10 11 1213 14 15 16341 2 3 45 6 7 89 10 11 1211 14 15 163Output: No*/#include<iostream>using namespace std;//初始化,动态分配内存int ** initmatrix(int rows){ int **matrix = new int*[rows]; for(int i = 0;i< rows;i++) { matrix[i]= new int[rows]; } return matrix;}//释放void deletematrix(int** matrix,int rows){ for(int i = 0;i< rows;i++) { delete []matrix[i]; } delete []matrix;}//赋值void getmatrix(int** matrix,int rows){ for(int i = 0;i< rows;i++) { for(int j = 0;j<rows;j++) cin>>matrix[i][j]; }}//打印矩阵void printmatrix(int** matrix,int rows){ for(int i = 0;i< rows;i++) { for(int j = 0;j<rows;j++) cout<<matrix[i][j]; cout<<endl; }}/*思路:既然知道indice,所以干脆找到和它距离为K的元素,开始比较找举例为K的原则:向下,向右/左应该复杂度比比较每个元素,然后计算他们之间的距离小*/int duplicate(int ** matrix,int rows,int indice){ for(int i=0;i<rows;i++) { for(int j = 0;j< rows;j++) { int cur = matrix[i][j];//当前待比较元素 for(int ik =0;ik<=indice;ik++) // { //ik 向下,jk向左右 if(i+ik>=rows)//向下的距离超出矩阵维度,可以跳出了 break; int jk = indice-ik; if(j+jk<rows) //向右的距离在矩阵维度内 { if(cur == matrix[i+ik][j+jk]) { cout<<"YES"; return 1; } } if(j-jk<rows) //向左的距离在矩阵维度内 { if(cur == matrix[i+ik][j-jk]) { cout<<"YES"; return 1; } } } } } cout<<"NOPE"; return 0;}int main(){ int rows; cin>>rows; int ** matrix = initmatrix(rows); getmatrix(matrix,rows); // printmatrix(matrix,rows); int indice; cin>>indice; if(indice < 1) { cout<<"NO"<<endl; return 0; } duplicate(matrix,rows,indice); deletematrix(matrix,rows); return 0;}
0 0
- 矩阵是否含距离k的重复值
- 欧氏距离的矩阵实现(k近邻分类器)
- 哈希(6) - 判断数组中是否存在重复元素且距离在K之内
- leetcode_219. Contains Duplicate II 查找距离小于k的范围内是否有相同的元素,字典
- 检查某个字段的值是否重复
- Java总哈希表的运用,判断一个数组中是否存在相同的元素之间的距离在k以内!
- 如何判断K个2的N(N不可重复)次幂为和的整形值X中是否包含2的M次幂
- PostGis判断两个地理信息的距离是否小于某个值
- 提取数字、提取英文、提取中文、过滤重复字符等SQL函数(含判断字段值是否有中文)
- 提取数字、提取英文、提取中文、过滤重复字符等SQL函数(含判断字段值是否有中文)
- 距离矩阵
- 含k个3的数
- 30:含k个3的数
- 含重复元素的全排列
- 含重复元素序列的全排列
- 含重复元素的全排列
- 含重复元素的排列问题
- 从矩阵站台到龙跃三的距离
- SEO优化-伪静态-URLRewrite 详解
- label首行缩进
- .bat文件的编写和运行
- LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 在Centos下用alternatives命令切换各个版本的jdk的方法
- 矩阵是否含距离k的重复值
- hdu 5641 King's Phone 模拟
- IOS推送消息怎么实现icon图标的数字累加
- android闪关灯的开启和关闭方法代码实例
- Java虚拟机(JVM)
- Spring+MyBatis双数据库配置
- 一个经典例子让你彻彻底底理解java回调机制
- 日常BUG
- 关灯游戏AI扩展