那么一个数字字符串比如“111“,就可以转化为“AAA”、“KA”和“AK”。

那么一个数字字符串比如“111“,就可以转化为“AAA”、“KA”和“AK”。importjava util Scanner 规定 1 和 A 对应 2 和 B 对应 3 和 C 对应 那么一个数字字符串比如 111 就可以转化为 AAA KA 和 AK

大家好,欢迎来到IT知识分享网。

package 左神题目; import java.util.Scanner; /规定1和A对应、2和B对应、3和C对应. 那么一个数字字符串比如“111",就可以转化为"AAA”、"KA”和"AK”。 给定一个只有数字字符组成的字符串str,返回有多少种转化结果。*/ public class 数字和字母转换 { //i之前的位置,如何转化已经做过决定了 //i。。。有多少种转化的结果 public static int process(char[] str,int i) { if(i==str.length) { return 1; } //因为该位置是0就没有对应的字母 if(str[i]=='0') { return 0; } if(str[i]=='1') { int res=process(str,i+1);//i自己作为单独的部分,后续有多少种方法 if(i+1<str.length) { res+=process(str,i+2);//(i和i+1)作为单独的部分,后续有多少种方法 } return res; } if(str[i]=='2') { int res = process(str, i + 1);//i自己作为单独的部分,后续有多少种方法 //(i和i+1)作为单独部分并且没有超过26,后续有多少种方法 if (i + 1 < str.length && (str[i + 1] >= '0' && str[i + 1] <= '6')) { res += process(str, i + 2); } return res; } //因为该字母大于>2,所以不可能组合 return process(str,i+1); } public static void main(String[] args) { Scanner input = new Scanner(System.in); char[] str = input.next().toCharArray(); System.out.println(process(str,0)); } } 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/151481.html

(0)
上一篇 2025-03-13 16:25
下一篇 2025-03-13 16:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信