`
郑云飞
  • 浏览: 797743 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 回文字形

阅读更多
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();
		}
	}
}

 

分享到:
评论

相关推荐

    LeetCode_Java:实践

    标题源代码困难时间解决了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中等...

    leetcode18java-Leet:我对LeetCode挑战问题的解决方案。语言因问题而异

    之字形转换 中等的 Javascript 7. 反转整数 简单的 C# 8. 字符串到整数 (atoi) 中等的 Ruby 9. 回文数 简单的 Python 3 10. 正则表达式匹配 难的 Java 11. 盛水最多的容器 中等的 C++ 12. 整数转罗马 中等的 Python...

    太平洋网络java笔试题-LeetCode:用于在leetcode上记录解决方案

    最长回文子串 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:Leetcode解决方案及常用算法(Java&Python&Go)

    leetcode寻找最近的 Leetcode coding record. All ...字形变换 t6 7 整数反转 t7 8 字符串转换整数 (atoi) t8 9 回文数 t9 10 正则表达式匹配 t10 11 盛最多水的容器 t11 12 整数转罗马数字 t12 , 13

    leetcode-everyday:我的leetcode解决方案

    之字形转换 Java :memo: 中等的 7 反向整数 Java :memo: 简单的 8 字符串到整数 Java 中等的 9 回文数 Java :memo: 简单的 10 正则表达式匹配 :memo: 难的 11 装满水的容器 Java :memo: 中等的 12 ...

    LeetCode题目分类与面试问题整理,附带所有java算法代码

    q6_Z字形变换 q14_最长公共前缀 q763_划分字母区间 数字操作 q7_整数反转 q8_字符串转换整数 q9_回文数 q43_字符串相乘 q172_阶乘后的零 q258_各位相加 数组操作 q54_螺旋矩阵 q73_矩阵置零 q78_子集 q384_打乱数组 ...

    Java-Leetcode:LeetCode中算法的实践。 已解决400个问题

    之字形转换 刊登题 7 反向整数 弦乐 8 字符串到整数atoi 有限状态机 9 回文数 弦乐 11 盛满水的容器 双指针 12 整数到罗马 弦乐 13 罗马到整数 弦乐 14 最长公共前缀 弦乐 15 3和 双指针 16 3sum最接近 双...

    javalruleetcode-leetcode-solutions:我在LeetCode上的解决方案,用Java和Python编写

    之字形转换 7 倒整数 8 字符串到整数 9 回文数 10 正则表达式匹配 11 盛水的容器 12 整数到罗马 13 罗马到整数 14 最长公共前缀 15 3sum 16 3sum-最接近 17 电话号码的字母组合 18 4sum 19 从列表末尾删除第 n 个...

    ds-and-algorithms:数据结构和算法问题,以及针对JavaScript,TypeScript,Go和Java的解决方案说明和实现

    使用JavaScript,TypeScript,Go和Java的数据结构和算法问题 数据结构和算法问题,以及针对不同语言的解决方案说明和实现 :bar_chart: 按主题组织 二叉树 -硬 -中 -中 -中 -简单 -中 堆 -中 -困难 弦乐 简单 通过...

    leetcode中国-LeetcodeSolution:LeetCode题目-Java解法(持续更新)

    最长回文子串 dynamic programming 6 Z 字形变换 string 8 字符串转换整数 (atoi) string 11 盛最多水的容器 double pointer 15 三数之和 array 16 最接近的三数之和 array 17 电话号码的字母组合 backtracking 22 ...

    leetcode双人赛-leetcodeSolution:Leetcode一站式解决方案(JAVA版,持续更新)

    leetcode双人赛Java 中的 Leetcode 解决方案 1 二和 2 两个数相加 3 无重复字符的最长子串 4 两个有序数组的中位数 5 最长回文子串 6 之字形转换 7 反转整数 8 字符串到整数 (atoi) 9 回文数 10 正则表达式匹配 11 ...

    learn_code

    LeetCode LeetCode编程题集第二题:两数相加中等第三题:无重复字符的最长子串中等第四题:寻找两个有序分段的中位数困难第五题:最长回文子串中等第六题:Z字形变换中等第七题:二次反转简单第八题:字符串转换整体...

    codingbasics:回购仅用于个人成长和自我完善

    Z字形字形 中等的 细绳 7 简单 数学 8 字符串转换 中等的 数学 9 回文数 简单 数学 10 正则表达式 难的 动态编程 11 盛最多水的容器 中等的 大批 12 整转罗马数字 中等的 细绳 13 罗马数字转 简单 细绳 14 简单 ...

    LeetCode:LeetCode个人题解

    个人LeetCode题解(JAVA语言版,前100题) # 译文 解答 艰难 思考 1。 简单的 2个 中等的 3 中等的 4 难的 5 中等的 6 之字形转换 6. ZigZag转换 中等的 6. ZigZag转换 7 反整数 7.反向整数 简单的 7.反向整数 8...

    javalruleetcode-leetcode-solutions:leetcode-解决方案

    Z字形变换 - 0007 整数反转 - 0008 字符串转换整数 (atoi) - 0009 回文数 - 0011 盛最多水的容器 - 0013 罗马数字转整数 - 0014 最长公共前缀 - 0015 三数之和 - 0017 电话号码的字母组合 - 0019 删除链表的倒数第N...

    Leetcode:使用不同的编程语言播放Leetcode

    LeetCode # 标题C C ++ Python 去js Java困难0001简单的0002中等的0003C中等的0004C C ++ Python 难的0005 最长回文子串CC ++ Python 去中等的0006 之字形转换C C ++ Python 去中等的0007 反整数C C ++ Python 去...

    LeetCode2018

    400 题LeetCode solutions in Java 8 and Python3.NO.Title中文名...回文子串Java PythonNoteMediumtwo pointers dp backtracking5ZigZag ConversionZ字形变换Java PythonNoteMedium6Reverse Integer反转整数...

    LeetCode实践

    Java实践 第1章:leetcode 1-200 主题:限制50 # 标题 困难 快点 1个 两次求和 简单 2 加两个数字 中等的 100% 3 最长子串,无重复字符 中等的 92.46% 4 两个排序数组的中位数 难的 100.00% 5 最长...

    javalruleetcode-My-LeetCode:我的Leetcode大全

    之字形转换 23.8% 简单的 7 反转整数 23.6% 简单的 8 字符串到整数 (atoi) 13.5% 简单的 9 回文数 31.5% 简单的 10 正则表达式匹配 21.9% 难的 11 盛水最多的容器 34.4% 中等的 12 整数转罗马 38.6% 中等的 13 罗马...

    javalruleetcode-leetcode-diary:leetcode刷题记录

    字形变换 #6 整数反转 #7 字符串转换整数 (atoi) #8 回文数 #9 *正则表达式匹配 #10 回溯 dp 盛最多水的容器 #11 整数转罗马数字 #12 罗马数字转整数 #13 最长公共前缀 #14 *三数之和 #15 双指针 最接近的三数之和 #...

Global site tag (gtag.js) - Google Analytics