41_leetcode_Decode Ways
来源:互联网 发布:java简单数据字典 编辑:程序博客网 时间:2024/05/06 09:53
A message containing letters from A-Z
is being encoded to numbers using the following mapping:
'A' -> 1'B' -> 2...'Z' -> 26
Given an encoded message containing digits, determine the total number of ways to decode it.
For example,
Given encoded message "12"
, it could be decoded as "AB"
(1 2) or "L"
(12).
The number of ways decoding "12"
is 2.
1:特殊情况的考虑:第一个字符为0;2:从前到后遍历字符串,如果当前字符是‘0’的时候,只考虑与前一个字符编码成为一个符号;2:如果当前字符不为‘0’的时候,当前字符可以编码,以及考虑与前面一个字符是否可以编码成一种字符
int numDecodings(string s) { if(s.empty() || (s.size() == 1 && s[0] == '0')) { return 0; } unsigned long size = s.size(); int* A = new int[size]; A[0] = (s[0] == '0' ? 0 : 1); for(int i = 1; s[i] != '\0'; i++) { if(s[i] != '0') { A[i] = A[i-1]; } else { A[i] = 0; } if((s[i] >= '0' && s[i] <= '9' && s[i-1] == '1') || (s[i] >= '0' && s[i] <= '6' && s[i-1] == '2')) { if(i-1 == 0) { A[i] += 1; } else { A[i] += A[i-2]; } } } return A[size-1]; }
0 0
- 41_leetcode_Decode Ways
- 第41题 Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- LeetCode_Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode ways
- Decode Ways
- OO面相对象设计的五大原则
- JTable常见用法细则
- C语言实现_ATM自动取款机系统
- 网络编程--WINSOCK
- 修改linux下的环境变量PATH
- 41_leetcode_Decode Ways
- java--图片和BYTE数组的那些事
- 最大电视现英国:长9米重1吨售1061万
- 微信公众平台接口程序搜索音乐
- 关于无法进入断点的问题
- 虚拟机安装WIN7
- [世界杯]世界杯的哲学思想
- 表空间碎片较多
- InetAddress获取IP地址