把年月日表示為yyyymmdd這樣的8位整數,然後把這個整數轉換成二進位制數並且逆序排列,再把得到的二進位制數轉換成十進位制數,求與原日期一致的日期。求得的日期要在上一次東京奧運會(2023年10月10日)到下一次東京奧運會(預定舉辦日期為2023年7月24日)之間。
從起始時間開始逐天累加,對每一天進行進製轉換並反轉,然後比較,如果相同就輸出,不同就繼續,直至到達結束時間。
php:
function finddate($begin, $end)
$begindate = $begindate->add(new dateinterval('p1d'));
}}finddate("1964-10-10", "2020-07-24");
輸出:
19660713
19660905
19770217
19950617
20020505
20130201
golang:
package main
import (
"fmt"
"strconv"
"time"
)func main()
func finddate(begin, end time.time)
// 日期累加
dd, _ := time.parseduration("24h")
begin = begin.add(dd)
}}// 反轉字串
func reverse(s string) string
return string(runes)
}
輸出:
19660713
19660905
19770217
19950617
20020505
20130201
每週一道演算法題005 切木棒
假設要把長度為n厘公尺的木棒切分為1厘公尺長的小段,但是1根木棒只能由1人切分,當木棒被切分為3段後,可以同時由3個人分別切分木棒。求最多有m個人時,最少要切分幾次。譬如n 8,m 3時如下圖所示,切分4次就可以了。求當n 20,m 3時的最少切分次數。求當n 100,m 5時的最少切分次數。這道題...
每天一道演算法題 二進位制中1的個數
題目描述 輸入乙個整數,輸出該數二進位制表示中1的個數。其中負數用補碼表示。測試用例 0 1 2 10 對應輸出應該為 0 1 1 2 分析 如果乙個整數不為0,那麼這個整數至少有一位是1。如果我們把這個整數減1,那麼原來處在整數最右邊的1就會變為0,原來在1後面的所有的0都會變成1 如果最右邊的1...
每週一道LeetCode演算法題 兩數之和
class solution return result 分析class solution for int i 0 i nums.length i throw newillegalargumentexception no two sum solution class solution map.put...