本文主要是介绍NC 把数字翻译成字符串,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
系列文章目录
文章目录
- 系列文章目录
- 前言
前言
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
描述
有一种将字母编码成数字的方式:‘a’->1, ‘b->2’, … , ‘z->26’。
现在给一串数字,返回有多少种可能的译码结果
import java.util.*;
public class Solution {public int solve (String nums) {//排除0if(nums.equals("0")) return 0;//排除只有一种可能的10 和 20if(nums == "10" || nums == "20") return 1;//当0的前面不是1或2时,无法译码,0种for(int i = 1; i < nums.length(); i++){ if(nums.charAt(i) == '0')if(nums.charAt(i - 1) != '1' && nums.charAt(i - 1) != '2')return 0;}int[] dp = new int[nums.length() + 1];//辅助数组初始化为1Arrays.fill(dp, 1); for(int i = 2; i <= nums.length(); i++){//在11-19,21-26之间的情况if((nums.charAt(i - 2) == '1' && nums.charAt(i - 1) != '0') || (nums.charAt(i - 2) == '2' && nums.charAt(i - 1) > '0' && nums.charAt(i - 1) < '7'))dp[i] = dp[i - 1] + dp[i - 2];elsedp[i] = dp[i - 1];}return dp[nums.length()];}
}
这篇关于NC 把数字翻译成字符串的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!