博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode Decode Ways
阅读量:6320 次
发布时间:2019-06-22

本文共 1292 字,大约阅读时间需要 4 分钟。

hot3.png

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.

规律题,总结规律即可:

package mainimport (	"fmt"	"strconv")//只需要判断双位数的情况func is_suit_num(num int) bool {	if num >= 10 && num <= 26 {		return true	} else {		return false	}}func char_style_num(char string) int {	length := len(char)	if length < 2 {		return 1	}	num := char[0:2]	num_int, _ := strconv.Atoi(num)	if is_suit_num(num_int) {		return char_style_num(char[1:]) + char_style_num(char[2:])	} else {		return char_style_num(char[1:])	}}func main() {	fmt.Printf("%d\n", char_style_num("12"))	//1,2;12 = 2	fmt.Printf("%d\n", char_style_num("122"))	//1,2,2;	//12,2;	//1,22; = 3	fmt.Printf("%d\n", char_style_num("1221"))	//1,2,2,1;	//12,2,1;	//12,21;	//1,22,1;	//1,2,21; = 5	fmt.Printf("%d\n", char_style_num("3121"))	//3,1,2,1;	//3,12,1;	//3,1,21; = 3	//-------------------- 总结出规律 ---------------------- //	// if arr[N:N-1] suit	// 	F(N) = F(N-1) + F(N-2)	// else	// 	F(N) = F(N-1)}

程序输出结果:

    2    3    5    3

 

转载于:https://my.oschina.net/yang1992/blog/833659

你可能感兴趣的文章
[转] Entity Framework Query Samples for PostgreSQL
查看>>
软件需求分析的重要性
查看>>
HTML5-placeholder属性
查看>>
poj 2187:Beauty Contest(旋转卡壳)
查看>>
Python-库安装
查看>>
普通人如何从平庸到优秀,在到卓越
查看>>
SLAM数据集
查看>>
c#学习笔记05——数组&集合
查看>>
【图论算法】Dijstra&BFS
查看>>
注册和上传文件(头像)
查看>>
使用OVS
查看>>
键盘回收的几种方法
查看>>
Python(条件判断和循环)
查看>>
day4 linux安装python
查看>>
LeetCode Container With Most Water (Two Pointers)
查看>>
vue (v-if show 问题)
查看>>
https基础
查看>>
RESTful Mongodb
查看>>
如何提高Ajax性能
查看>>
Android--自定义加载框
查看>>