首页 > 其他分享 >把数字翻译字符串

把数字翻译字符串

时间:2022-12-04 12:34:05浏览次数:37  
标签:翻译 return charAt nums int else 字符串 dp 数字

 

 

import java.util.*;


public class Solution {
/**
* 解码

* @param nums string字符串 数字串
* @return int整型
*/
public int solve (String nums) {
  if(nums==null ||nums.length()==0)

    return 0;
  int[] dp = new int[nums.length()+1];
  dp[0]=1;
  dp[1]=nums.charAt(0)=='0'?0:1;
  for(int i=2;i<dp.length;i++){
    //无法独立编码也无法组合编码
    if(nums.charAt(i-1)=='0' && (nums.charAt(i-2)=='0' || nums.charAt(i-2)>'2')){
      return 0;
    //只能组合编码
    }else if(nums.charAt(i-1)=='0'){
      dp[i] = dp[i-2];
    //只能独立编码
    }else if(nums.charAt(i-2)=='0' || nums.charAt(i-2)>'2' || nums.charAt(i-2)=='2'&& nums.charAt(i-1)>'6' ){
      dp[i] = dp[i-1];
    //两种编码方式都可以
    }else{
      dp[i] = dp[i-1]+dp[i-2];
    }
  }
  return dp[nums.length()];
}
}

标签:翻译,return,charAt,nums,int,else,字符串,dp,数字
From: https://www.cnblogs.com/northli/p/16949637.html

相关文章