怎么快速看出矩阵变换(教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妹:小呀么小二郎呀, 背着那书包上学堂。
2哥:不怕太阳晒, 不怕那风雨打。
3妹:就怕老师说我懒呀,没有学问,无脸见爹娘。
2哥:3妹 周杰伦又发新专辑了,you know? 你的曲库该更新一下了。
3妹:yeah I know. 我可是听着我伦的歌长大的。
2哥:是的, 记得那时还是上高中的时候……
3妹:2哥,又开始回忆你的青春岁月了,哈哈
2哥:3妹也会取笑人了,不跟你说了,我继续做题了。
讲课
题目:给你一个字符串 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);
}
}