手机app开发网站建设,现在什么行业发展前景最好,wordpress 插件编写,中文域名是网站名称吗题目来源#xff1a;LeetCode给定一个数字 N#xff0c;当它满足以下条件的时候返回 true#xff1a;把原数字旋转180以后得到新的数字。如 0, 1, 6, 8, 9 旋转 180 以后#xff0c;得到了新的数字 0, 1, 9, 8, 6 。2, 3, 4, 5, 7 旋转 180 后,得到的不是数字。易混淆数字 …题目来源LeetCode给定一个数字 N当它满足以下条件的时候返回 true把原数字旋转180°以后得到新的数字。如 0, 1, 6, 8, 9 旋转 180° 以后得到了新的数字 0, 1, 9, 8, 6 。2, 3, 4, 5, 7 旋转 180° 后,得到的不是数字。易混淆数字 (confusing number) 就是一个数字旋转180°以后得到和原来不同的数字且新数字的每一位都是有效的。示例 16 - 9输入6输出true解释 把 6 旋转 180° 以后得到 99 是有效数字且 9!6 。示例 289 - 68输入89输出true解释: 把 89 旋转 180° 以后得到 6886 是有效数字且 86!89 。示例 311 - 11输入11输出false解释把 11 旋转 180° 以后得到 1111 是有效数字但是值保持不变所以 11 不是易混淆数字。提示0 N 10^9可以忽略掉旋转后得到的前导零例如如果我们旋转后得到 0008 那么该数字就是8。分析题目中已经明确提示哪些数字(0-9)旋转后是有效的因此第一步就需要判断给定的整数中是否包含旋转无效的数字最后的提示很重要如果旋转后前面连续的0位可以忽略既然这样只要旋转后第一位是0的都不会和原整数相等。旋转不单单是单个数字的旋转最后整个数字也会前后倒置。将整数转为字符串要方便许多因为可以直接取相应位。流程图实现(java)package com.jiajia.m4;import java.util.HashMap;/*** ClassName: ConfusingNumber* Author: fanjiajia* Date: 2019/4/27 上午10:06* Version: 1.0* Description:*/public class ConfusingNumber {public static void main(String[] args) {ConfusingNumber c new ConfusingNumber();int test_num 89;System.out.println(c.confusingNumber(test_num));}public boolean confusingNumber(int N) {String str_N String.valueOf(N); // 将数字转为字符串方便处理// 定义相应数字字符旋转后的字符映射HashMap map new HashMap() {{put(0, 0);put(1, 1);put(6, 9);put(8, 8);put(9, 6);}};/*** 先判断其中是否包含不满足旋转的字符*/for(int i 0; i str_N.length(); i) {if(!map.containsKey(str_N.charAt(i))){ // 通过map的key进行判断return false;}}/*** 接下来判断旋转后的数字是否等于原来的数字*/if((str_N.charAt(str_N.length() - 1) 0) str_N.length() 1) {// 如果最后一位是0 则说明旋转后的数字一定不等于原来的数字return true;}char[] arr new char[str_N.length()]; // 旋转后的字符串for(int i str_N.length() - 1; i 0; i--) {arr[(str_N.length() -1) - i] map.get(str_N.charAt(i));}String temp String.valueOf(arr);if(temp.equals(str_N)) {return false;}return true;}}最后可以直接利用map的key做contains判断之前还单独声明了一个list做contains判断哎真的菜此致敬礼