class ArrayRectangle
{
public static void main(String[] args)
{
if(args.length>0)
{
int m=Integer.parseInt(args[0]);
int n=Integer.parseInt(args[1]);
int [][]arr=new int [m][n];
int k=(m>n?n:m+1)/2;//圈数
for(int c=0;c<k;c++)//控制圈数
{
for(int i=c;i<m-c;i++)
{
for(int j=c;j<n-c;j++)
{
arr[i][j]=c+1;
}
}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
System.out.print(arr[i][j]);
}
System.out.println();
}
//第二种方案
int [][]arry1=new int [m][n];
System.out.println("****************第二种方案******************");
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
arry1[i][j]=min(min(i,j),min(m-1-i,n-1-j))+1;//(每一个点距上边界 下边界 左边界 右边界的最小值)
System.out.print(arry1[i][j]);
}
System.out.println();
}
}
else
{
System.out.println("请输入行和列的值:");
}
}
public static int min(int a,int b)//求最小值的函数
{
return a<b?a:b;
}
}
import java.util.*;
public class hui
{
public static void main(String[] args)
{
Scanner scanner=new Scanner(System.in);
System.out.println("请输入行m的值:");
int m=scanner.nextInt();
System.out.println("请输入列n的值:");
int n=scanner.nextInt();
int [][] a=new int [m][n];
int t=n%2==0?n/2:(n/2+1);//控制圈数
for(int i=0;i<t;i++)//遍历圈数
{
for(int j=i;j<n-i;j++)//行不变,列在变
{
a[i][j]=i+1;//首列在变
a[m-1-i][j]=i+1;//尾列在变
}
for(int k=i;k<m-i;k++)//列不变,行在变
{
a[k][i]=i+1;//首行在变
a[k][n-i-1]=i+1;//尾行在变
}
//第一圈全部赋值完毕,进入下一圈的遍历赋值过程
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
}
import java.util.Scanner;
public class hui4 {
public static void main(String[] args) {
int i, j;
int count = 1;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入行m:");
int m = scanner.nextInt();
System.out.println("请输入行n:");
int n = scanner.nextInt();
int[][] a = new int[m][n];
for(;;)
{
i = j = (count - 1);//初始化i=j=0
if (a[i][j] != 0)//如果a[i][j]已经赋了值,就直接跳出循环(第一圈赋过值后,直接跳过去)
break;
while (i <= m - count)//控制行数不变,列数在变,起始第一列和最后一列全部赋值为1
{
a[i][j] = count;//首列赋值
a[i][n - count] = count;//尾列赋值
i++;
if (i == m - count + 1)//确保数组不越界,最后i++后i的值变成了5,数组越界了,必须让i--让i的值变成4
{
i--;
break;
}
}
while (j <= n - count) //控制列数不变,行数在变,起始第一行和最后一行全部赋值为1
{
a[count - 1][j] = count;//首行赋值
a[i][j] = count;//尾行赋值
j++;
if (j == n - count + 1) //确保数组不越界
{
j--;
break;
}
}
count++;//进入for循环,开始进行下一圈的赋值
}
for (int x = 0; x < m; x++)
{
for (int y = 0; y < n; y++)
{
System.out.print(a[x][y] + " ");
}
System.out.println();
}
}
}
分享到:
相关推荐
基于JavaSpring Boot框架的算法与数据结构项目 项目简介 本项目是一个基于Java和Spring Boot框架...6. Z字形变换解决Z字形变换问题,将字符串按Z字形排列。 7. 整数反转解决整数反转问题,考虑整数反转后的溢出问题。
- Palindrome Permutation(回文排列):确定一个字符串是否可以重新排列成回文。 - Isomorphic Strings(同构字符串):一种判断两个字符串是否具有相同映射的方法。 数据结构相关题目包括: - Binary Tree...
标题源代码困难时间解决了1个简单的2017/11/22 15中等的2017/11/23 16中等的2017/11/23 18岁中等的2017/11/232个中等的2017/11/22 445中等的2017/11/263中等的2017/11/27 4Java难的2017/12/4 5 最长回文子串Java中等...
之字形转换 中等的 Javascript 7. 反转整数 简单的 C# 8. 字符串到整数 (atoi) 中等的 Ruby 9. 回文数 简单的 Python 3 10. 正则表达式匹配 难的 Java 11. 盛水最多的容器 中等的 C++ 12. 整数转罗马 中等的 Python...
最长回文子串 27.7% 中等的 6 之字形转换 32.8% 中等的 7 25.4% 简单的 8 14.7% 中等的 9 44.3% 简单的 10 正则表达式匹配 25.5% 难的 11 45.9% 中等的 12 整数转罗马 51.7% 中等的 13 53.0% 简单的 14 33.9% 简单的...
leetcode寻找最近的 Leetcode coding record. All ...字形变换 t6 7 整数反转 t7 8 字符串转换整数 (atoi) t8 9 回文数 t9 10 正则表达式匹配 t10 11 盛最多水的容器 t11 12 整数转罗马数字 t12 , 13
之字形转换 Java :memo: 中等的 7 反向整数 Java :memo: 简单的 8 字符串到整数 Java 中等的 9 回文数 Java :memo: 简单的 10 正则表达式匹配 :memo: 难的 11 装满水的容器 Java :memo: 中等的 12 ...
q6_Z字形变换 q14_最长公共前缀 q763_划分字母区间 数字操作 q7_整数反转 q8_字符串转换整数 q9_回文数 q43_字符串相乘 q172_阶乘后的零 q258_各位相加 数组操作 q54_螺旋矩阵 q73_矩阵置零 q78_子集 q384_打乱数组 ...
之字形转换 刊登题 7 反向整数 弦乐 8 字符串到整数atoi 有限状态机 9 回文数 弦乐 11 盛满水的容器 双指针 12 整数到罗马 弦乐 13 罗马到整数 弦乐 14 最长公共前缀 弦乐 15 3和 双指针 16 3sum最接近 双...
之字形转换 7 倒整数 8 字符串到整数 9 回文数 10 正则表达式匹配 11 盛水的容器 12 整数到罗马 13 罗马到整数 14 最长公共前缀 15 3sum 16 3sum-最接近 17 电话号码的字母组合 18 4sum 19 从列表末尾删除第 n 个...
使用JavaScript,TypeScript,Go和Java的数据结构和算法问题 数据结构和算法问题,以及针对不同语言的解决方案说明和实现 :bar_chart: 按主题组织 二叉树 -硬 -中 -中 -中 -简单 -中 堆 -中 -困难 弦乐 简单 通过...
最长回文子串 dynamic programming 6 Z 字形变换 string 8 字符串转换整数 (atoi) string 11 盛最多水的容器 double pointer 15 三数之和 array 16 最接近的三数之和 array 17 电话号码的字母组合 backtracking 22 ...
leetcode双人赛Java 中的 Leetcode 解决方案 1 二和 2 两个数相加 3 无重复字符的最长子串 4 两个有序数组的中位数 5 最长回文子串 6 之字形转换 7 反转整数 8 字符串到整数 (atoi) 9 回文数 10 正则表达式匹配 11 ...
LeetCode LeetCode编程题集第二题:两数相加中等第三题:无重复字符的最长子串中等第四题:寻找两个有序分段的中位数困难第五题:最长回文子串中等第六题:Z字形变换中等第七题:二次反转简单第八题:字符串转换整体...
Z字形字形 中等的 细绳 7 简单 数学 8 字符串转换 中等的 数学 9 回文数 简单 数学 10 正则表达式 难的 动态编程 11 盛最多水的容器 中等的 大批 12 整转罗马数字 中等的 细绳 13 罗马数字转 简单 细绳 14 简单 ...
这些题目覆盖了数据结构(如二叉树、哈希表)、算法(如动态规划、回文判断、层次遍历)等多个方面,对于提升Java程序员的编程能力和算法理解非常有帮助。通过研究这些解决方案,可以加深对Java语言特性和常见数据...
个人LeetCode题解(JAVA语言版,前100题) # 译文 解答 艰难 思考 1。 简单的 2个 中等的 3 中等的 4 难的 5 中等的 6 之字形转换 6. ZigZag转换 中等的 6. ZigZag转换 7 反整数 7.反向整数 简单的 7.反向整数 8...
Z字形变换 - 0007 整数反转 - 0008 字符串转换整数 (atoi) - 0009 回文数 - 0011 盛最多水的容器 - 0013 罗马数字转整数 - 0014 最长公共前缀 - 0015 三数之和 - 0017 电话号码的字母组合 - 0019 删除链表的倒数第N...
LeetCode # 标题C C ++ Python 去js Java困难0001简单的0002中等的0003C中等的0004C C ++ Python 难的0005 最长回文子串CC ++ Python 去中等的0006 之字形转换C C ++ Python 去中等的0007 反整数C C ++ Python 去...
400 题LeetCode solutions in Java 8 and Python3.NO.Title中文名...回文子串Java PythonNoteMediumtwo pointers dp backtracking5ZigZag ConversionZ字形变换Java PythonNoteMedium6Reverse Integer反转整数...