快捷搜索:  汽车  科技

怎么快速看出矩阵变换(教3妹学算法-每日3题)

怎么快速看出矩阵变换(教3妹学算法-每日3题)输入:date = "6th Jun 1933"输出:"1933-06-06"示例 3:输入:date = "20th Oct 2052"输出:"2052-10-20"示例 2:Day 是集合 {"1st" "2nd" "3rd" "4th" ... "30th" "31st"} 中的一个元素。Month 是集合 {"Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "

怎么快速看出矩阵变换(教3妹学算法-每日3题)(1)

3妹

3妹:小呀么小二郎呀, 背着那书包上学堂。
2哥:不怕太阳晒, 不怕那风雨打。
3妹:就怕老师说我懒呀,没有学问,无脸见爹娘。
2哥:3妹 周杰伦又发新专辑了,you know? 你的曲库该更新一下了。
3妹:yeah I know. 我可是听着我伦的歌长大的。
2哥:是的, 记得那时还是上高中的时候……
3妹:2哥,又开始回忆你的青春岁月了,哈哈
2哥:3妹也会取笑人了,不跟你说了,我继续做题了。

怎么快速看出矩阵变换(教3妹学算法-每日3题)(2)

讲课

题目:

给你一个字符串 date ,它的格式为 Day Month Year ,其中:

Day 是集合 {"1st" "2nd" "3rd" "4th" ... "30th" "31st"} 中的一个元素。
Month 是集合 {"Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"} 中的一个元素。
Year 的范围在 [1900 2100] 之间。
请你将字符串转变为 YYYY-MM-DD 的格式,其中:

YYYY 表示 4 位的年份。
MM 表示 2 位的月份。
DD 表示 2 位的天数。

示例 1:

输入:date = "20th Oct 2052"
输出:"2052-10-20"
示例 2:

输入:date = "6th Jun 1933"
输出:"1933-06-06"
示例 3:

输入:date = "26th May 1960"
输出:"1960-05-26"

提示:

给定日期保证是合法的,所以不需要处理异常输入。

思路:

模拟, 注意月份和天 要按照01,02而不是1,2的格式;

java代码:

class Solution { public String reformatDate(String date) { String[] months = {"Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"}; Map<String Integer> s2month = new HashMap<String Integer>(); for (int i = 1; i <= 12; i ) { s2month.put(months[i - 1] i); } String[] array = date.split(" "); String year = array[2]; int month = s2month.get(array[1]); int day = Integer.parseInt(array[0].substring(0 array[0].length() - 2)); return String.format("%s-d-d" year month day); } }

猜您喜欢: