Упражнения на Java: Проверьте, является ли число стробограмматическим числом
Java Basic: упражнение 186 с решением
Напишите программу на Java, чтобы проверить, являются ли две данные строки изоморфными или нет.
Согласно Википедии «Стробограмматическое число - это число, цифра которого вращательно-симметрична, так что оно выглядит одинаково при повороте на 180 градусов. Другими словами, цифра выглядит одинаково справа вверх и вниз (например, 69, 96, 1001). Стробограмматическое простое число - это стробограмматическое число, которое также является простым числом, т. Е. Числом, которое делится только на одно и на себя (например, 11). Это тип амбиграммы, слова и числа, которые сохраняют свое значение, когда смотреть с другой точки зрения, например, палиндромы ".
Первые несколько стробограммных чисел:
0, 1, 8, 11, 69, 88, 96, 101, 111, 181, 609, 619, 689, 808, 818, 888, 906, 916, 986, 1001, 1111, 1691, 1881, 1961, 6009, 6119, 6699, 6889, 6969, 8008, 8118, 8698, 8888, 8968, 9006, 9116, 9696, 9886, 9966, ...
Иллюстрированная презентация:
Пример решения:
Java-код:
import java.util.*;
public class Solution {
public static void main(String[] args) {
String n ="9006";
System.out.println("Is " + n + " is Strobogrammatic? " + is_Strobogrammatic(n));
}
public static boolean is_Strobogrammatic(String n) {
if (n == null || n.length() == 0) {
return true;
}
HashMap < Character, Character > map = new HashMap < Character, Character > ();
map.put('0', '0');
map.put('1', '1');
map.put('8', '8');
map.put('6', '9');
map.put('9', '6');
int left = 0;
int right = n.length() - 1;
while (left <= right) {
if (!map.containsKey(n.charAt(right)) || n.charAt(left) != map.get(n.charAt(right))) {
return false;
}
left++;
right--;
}
return true;
}
}
Пример вывода:
Является ли 9006 Стробограмма? правда
Блок - схема:
Редактор кода Java:
Компания: Google
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на Java, чтобы проверить, являются ли две данные строки изоморфными или нет.
Далее: Напишите программу на Java, чтобы найти индекс первого неповторяющегося символа в данной строке.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования