php - Terdapat 48 rentetan 1 dan 0 mewakili masa satu hari, dalam unit setengah jam
阿神
阿神 2017-05-16 13:03:25
0
3
544

Keperluan adalah untuk menukar 00:30 - 11:00 hari semasa kepada rentetan hanya 1 dan 0, dengan 1 bermakna termasuk dalam tempoh masa dan 0 bermakna tidak termasuk

Rentetan yang terhasil dari 00:30 - 11:00 ialah 01111111111111111111111000000000000000000000000

Masa mungkin berselerak dan tidak semestinya koheren Contohnya, 11:00-12:00 14:00-16:00

Sila beritahu saya apa yang perlu dilakukan. Terima kasih semua~

阿神
阿神

闭关修行中......

membalas semua(3)
淡淡烟草味

Menulis versi js untuk konsol

let calcPos = arr=>arr[0]*2+(arr[1]===0?0:1);
([[0,30],[11,0]].reduce(
    (a,b,i,arr)=>
        a+= new Array(calcPos(b)+(i===0||i%2===0?0:1)-a.length)
            .fill(i%2===0?"0":"1")
            .join("")
    , "")+new Array(48).fill("0").join(""))
    .slice(0,48);

Masa digunakan[[0,30],[11,0]]表示00:30 - 11:00, jadi situasi kedua macam ni

([[0,30],[11,0],[14,0],[16,0]].reduce((a,b,i,arr)=>a+=new Array(calcPos(b)+(i===0||i%2===0?0:1)-a.length).fill(i%2===0?"0":"1").join(""), "")+new Array(48).fill("0").join("")).slice(0,48);

Berikut ialah penyahkodan

("0"+"011111111111111111111110000011111000000000000000")
    .split("")
    .reduce(
        (a,b,i,arr)=>
            i===0?a:b!==arr[i-1]?[...a, (b==="1"?i:(i-1)) -1]:a
        , [])
    .map(i=>[(i-(i%2===0?0:1))/2, i%2===0?0:30]);
黄舟

Tukar masa kepada saat, dan tidak mengapa untuk menukar saat kepada binari - sama ada anda boleh menggunakan format binari mengikut jadual pengekodan atau kaedah lain, terpulang kepada anda.

曾经蜡笔没有小新

Unit setengah jam membahagikan 1 hari kepada 48 segmen menunjukkan bahawa nombor segmen sepadan dengan setiap tempoh masa
Rentetan ke-i sepadan dengan nombor segmen i masa. 1 menunjukkan bahawa ia bukan pada masa ini
Program khusus tidak sukar untuk ditulis.
Hanya minta nombor segmen dan gantikan kandungan rentetan
Nombor segmen adalah untuk menukar masa kepada jam dan kemudian bahagikannya dengan 0.5 untuk dibundarkan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan