这个算法应该是FCC算法里最麻烦的任务,因为本人也是初学,当初做这个时也查了很多的资料,参考了很多别人写的,
花了也挺多时间的。这里最大的问题应该就是要把所有的情况都考虑上去,不然也通过不了。我这里的办法想的比较简单,就是
逐个逐个判断在返回值。所以看起来会有点繁琐。
让日期区间更友好!
把常见的日期格式如:YYYY-MM-DD
转换成一种更易读的格式。
易读格式应该是用月份名称代替月份数字,用序数词代替数字来表示天 (1st
代替 1
).
记住不要显示那些可以被推测出来的信息: 如果一个日期区间里结束日期与开始日期相差小于一年,则结束日期就不用写年份了;在这种情况下,如果月份开始和结束日期如果在同一个月,则结束日期月份也不用写了。
另外, 如果开始日期年份是当前年份,且结束日期与开始日期小于一年,则开始日期的年份也不用写。
例如:
包含当前年份和相同月份的时候,makeFriendlyDates(["2017-01-02", "2017-01-05"])
应该返回 ["January 2nd","5th"]
不包含当前年份,makeFrien