700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 奇虎360_校园招聘笔试编程题第一题

奇虎360_校园招聘笔试编程题第一题

时间:2023-02-24 12:20:05

相关推荐

奇虎360_校园招聘笔试编程题第一题

今晚做了360的校招笔试题,编程题难度适中,在这里跟大家分享一下编程题的第一题。

1、 题目

2、 输入输出及样例

3、 我的思路

这题应该看题目理解一下就有思路,最简单粗暴的就是创建一个二维数组input[][],模拟键盘的九个数字键,判断是否同时成立input[0][0]=input[2][2]、input[0][1]=input[2][1]、input[0][2]=input[2][0]、input[1][0]=input[1][2]。如果同时成立,那么就是对称,否则就是不对称。

但是这种方法写起来比较繁琐,还有一种比较简单点的写法,就是定义一个一维数组input[],判断input[i]==input[8-i]在i等于0到3时是否都成立。如果是,那么对称,否则不对称,这里可以用循环实现,写法上稍微简单些。

4、 我的实现

import java.util.Scanner;public class Ti1{public static void main(String[] args){ Scanner scanner = new Scanner(System.in);while(scanner.hasNextLine()){char[] input = new char[9]; char[] input1 = scanner.nextLine().toCharArray();char[] input2 = scanner.nextLine().toCharArray();char[] input3 = scanner.nextLine().toCharArray();//将输入的数据构建成一个一维数组for(int i=0; i<3; i++){input[i] = input1[i];}for(int i=0; i<3; i++){input[i+3] = input2[i];}for(int i=0; i<3; i++){input[i+6] = input3[i];}//判断是否对称int flag = 0;for(int j=0; j<4; j++){if(input[j] != input[8-j]){flag = 1;break;}}if(flag == 0)//对称{System.out.println("YES");}else//不对称{System.out.println("NO");} } }}

5、 总结

这题我能想到的就是4中提到的两种思路,如果哪位大神有更好的解法,恳请不吝赐教,不胜感激!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。