跳轉到

Posts

來自PHP的strtotime函數的坑

問題描述

今天,我手邊某個外包的Case收到客戶的友善回報,當用戶希望將某個日期的預約時間移動到下個月或者提前一個月時,有時候會發生跟預期的結果的不同,最終將問題定位在strtotime這個函數上。

問題重現

$reservation_date = "2019-09-05";
var_dump(date("Y-m-d", strtotime("-1 month", strtotime($reservation_date)))); //2019-08-05-如預期

$reservation_date = "2019-09-05";
var_dump(date("Y-m-d", strtotime("+1 month", strtotime($reservation_date)))); //2019-10-05-如預期

$reservation_date = "2019-08-31";
var_dump(date("Y-m-d", strtotime("-1 month", strtotime($reservation_date)))); //2019-07-31-如預期

$reservation_date = "2019-07-31";
var_dump(date("Y-m-d", strtotime("-1 month", strtotime($reservation_date)))); //2019-07-01

$reservation_date = "2019-03-31";
var_dump(date("Y-m-d", strtotime("-1 month", strtotime($reservation_date)))); //2019-03-03

$reservation_date = "2016-03-31";
var_dump(date("Y-m-d", strtotime("-1 month", strtotime($reservation_date)))); //2016-03-02

2. Add Two Numbers

題目大意

你將獲得兩個非空的鏈表(linked list),它們各自代表著一個非負整數。其數字以倒序的方式儲存,而每個節點包含一個個位數值。請將這兩個數字相加,並以鏈表的形式返回相加的結果。

你可以假設除了數字 0 本身,這兩個數字都不會包含任何前導零。

題目原文連結

1. Two Sum

題目大意

給定一個整數陣列 nums 和一個整數 target,返回兩個數的索引,使它們相加等於 target。 你可以假設每個輸入都恰好有一個解,並且你不能重覆使用相同的元素。 你可以以任何順序返回答案。

題目原文連結

Unique In Order

題目大意

實現一個名為 unique_in_order 的函式,它接受一個序列作為輸入,並返回一個列表,其中去除了相鄰的重複元素,同時保持了原始元素的順序。

範例

uniqueInOrder("AAAABBBCCDAABBB") == {'A', 'B', 'C', 'D', 'A', 'B'}
uniqueInOrder("ABBCcAD")         == {'A', 'B', 'C', 'c', 'A', 'D'}
uniqueInOrder([1,2,2,3,3])       == {1,2,3}