国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

網(wǎng)站做404好處直播:英格蘭vs法國

網(wǎng)站做404好處,直播:英格蘭vs法國,河北智能網(wǎng)站建設,flask做的網(wǎng)站有哪些文章目錄 一【題目類別】二【題目難度】三【題目編號】四【題目描述】五【題目示例】六【題目提示】七【解題思路】八【時間頻度】九【代碼實現(xiàn)】十【提交結果】 一【題目類別】 回溯 二【題目難度】 簡單 三【題目編號】 401.二進制手表 四【題目描述】 二進制手表頂部…

文章目錄

  • 一【題目類別】
  • 二【題目難度】
  • 三【題目編號】
  • 四【題目描述】
  • 五【題目示例】
  • 六【題目提示】
  • 七【解題思路】
  • 八【時間頻度】
  • 九【代碼實現(xiàn)】
  • 十【提交結果】

一【題目類別】

  • 回溯

二【題目難度】

  • 簡單

三【題目編號】

  • 401.二進制手表

四【題目描述】

  • 二進制手表頂部有 4 個 LED 代表 小時(0-11),底部的 6 個 LED 代表 分鐘(0-59)。每個 LED 代表一個 0 或 1,最低位在右側。
  • 例如,下面的二進制手表讀取 "4:51"
    在這里插入圖片描述
  • 給你一個整數(shù) turnedOn ,表示當前亮著的 LED 的數(shù)量,返回二進制手表可以表示的所有可能時間。你可以 按任意順序 返回答案。
  • 小時不會以零開頭:
    • 例如,"01:00" 是無效的時間,正確的寫法應該是 "1:00" 。
  • 分鐘必須由兩位數(shù)組成,可能會以零開頭:
    • 例如,"10:2" 是無效的時間,正確的寫法應該是 "10:02" 。

五【題目示例】

  • 示例 1:

    • 輸入:turnedOn = 1
    • 輸出:[“0:01”,“0:02”,“0:04”,“0:08”,“0:16”,“0:32”,“1:00”,“2:00”,“4:00”,“8:00”]
  • 示例 2:

    • 輸入:turnedOn = 9
    • 輸出:[]

六【題目提示】

  • 0 <= turnedOn <= 10

七【解題思路】

  • 該題目很容易想到使用回溯+剪枝來解決
  • 我們需要在10個燈中選擇n個燈點亮,并計算其時間和,需要注意要判斷該時間和是否合理,如果不合理(小時超過11,分鐘超過59)需要進行剪枝
  • 上面提到“選擇n個燈點亮”,我們肯定不能一起全部點亮,所以需要用到回溯,一個一個選擇,還可以進行不同的組合
  • 為了實現(xiàn)“選擇n個燈點亮”,我們可以設置小時數(shù)組和分鐘數(shù)組,長度為10,不足10位補零,目的是使用這兩個數(shù)組來模擬小時和分鐘的亮燈情況(數(shù)組索引選中的值即為亮的燈)
  • 具體實現(xiàn)可以參考下面的代碼,最后按照回溯+剪枝的方法將結果計算出并返回即可

八【時間頻度】

  • 時間復雜度: O ( C 10 n ) O(C_{10}^{n}) O(C10n?) n n n為傳入的參數(shù)值
  • 空間復雜度: O ( n ) O(n) O(n) n n n為傳入的參數(shù)值

九【代碼實現(xiàn)】

  1. Java語言版
class Solution {public List<String> readBinaryWatch(int turnedOn) {// 定義時間數(shù)組int[] hours = {1, 2, 4, 8, 0, 0, 0, 0, 0, 0};int[] minutes = {0, 0, 0, 0, 1, 2, 4, 8, 16, 32};// 定義結果列表List<String> res = new ArrayList<>();// 回溯計算可能的時間組合backtrack(turnedOn, 0, 0, 0, res, hours, minutes);// 返回結果return res;}private void backtrack(int count, int index, int hour, int minute, List<String> res, int[] hours, int[] minutes) {if (hour > 11 || minute > 59) {return;}if (count == 0) {res.add(String.format("%d:%02d", hour, minute));}for (int i = index; i < 10; i++) {backtrack(count - 1, i + 1, hour + hours[i], minute + minutes[i], res, hours, minutes);}}
}
  1. Python語言版
class Solution:def readBinaryWatch(self, turnedOn: int) -> List[str]:# 定義時間數(shù)組hours = [1, 2, 4, 8, 0, 0, 0, 0, 0, 0]minutes = [0, 0, 0, 0, 1, 2, 4, 8, 16, 32]# 定義結果列表res = []# 回溯計算可能的時間組合def backtrack(count, index, hour, minute):if hour > 11 or minute > 59:returnif count == 0:res.append("%d:%02d" % (hour, minute))returnfor i in range(index, 10):backtrack(count - 1, i + 1, hour + hours[i], minute + minutes[i])backtrack(turnedOn, 0, 0, 0)# 返回結果return res
  1. C語言版
/*** Note: The returned array must be malloced, assume caller calls free().*/#define MAX_RES_SIZE 256// 定義回調函數(shù)來遞歸查找所有可能的時間組合
void backtrack(int count, int index, int hour, int minute, char res[MAX_RES_SIZE][6], int *returnSize, int * hours, int *minutes)
{if (hour > 11 || minute > 59){return;}if (count == 0){sprintf(res[*returnSize], "%d:%02d", hour, minute);(*returnSize)++;return;}for (int i = index; i < 10; i++){backtrack(count - 1, i + 1, hour + hours[i], minute + minutes[i], res, returnSize, hours, minutes);}
}char** readBinaryWatch(int turnedOn, int* returnSize)
{// 定義時間數(shù)組int hours[] = {1, 2, 4, 8, 0, 0, 0, 0, 0, 0};int minutes[] = {0, 0, 0, 0, 1, 2, 4, 8, 16, 32};// 分配空間用于存儲結果char (*res)[6] = malloc(MAX_RES_SIZE * sizeof(*res));*returnSize = 0;// 開始遞歸backtrack(turnedOn, 0, 0, 0, res, returnSize, hours, minutes);// 轉換為char**返回char** finRes = malloc(*returnSize * sizeof(char*));for (int i = 0; i < *returnSize; i++){finRes[i] = res[i];}return finRes;
}

十【提交結果】

  1. Java語言版
    在這里插入圖片描述

  2. Python語言版
    在這里插入圖片描述

  3. C語言版
    在這里插入圖片描述

http://m.aloenet.com.cn/news/28361.html

相關文章:

  • 商丘市網(wǎng)站建設公司合肥網(wǎng)站優(yōu)化軟件
  • 求職簡歷模板電子版免費seo怎么做優(yōu)化計劃
  • 黃埔區(qū)做網(wǎng)站英文外鏈seo兼職
  • 中學生制作網(wǎng)站怎么做百度廣告買下的訂單在哪里找
  • 中國十大建筑設計事務所北京自動seo
  • 做公眾號關注網(wǎng)站整站關鍵詞快速排名
  • 畢業(yè)設計做網(wǎng)站怎么答辯千牛怎么做免費推廣引流
  • 發(fā)布網(wǎng)站建設信息百度網(wǎng)站推廣價格
  • 項目營銷策劃方案360優(yōu)化大師官方下載
  • dede可以做視頻網(wǎng)站百度關鍵詞指數(shù)排行
  • 羅源網(wǎng)站建設seo搜索引擎優(yōu)化技術教程
  • iis7 無法添加網(wǎng)站網(wǎng)站優(yōu)化聯(lián)系
  • 云南城市建設職業(yè)學院網(wǎng)站軟文推廣渠道
  • 移動端的網(wǎng)站怎么做今日全國最新疫情通報
  • 幾分鐘弄清楚php做網(wǎng)站手機系統(tǒng)優(yōu)化
  • 昆明網(wǎng)絡營銷網(wǎng)站怎么提高seo關鍵詞排名
  • 寶豐網(wǎng)站建設長春網(wǎng)站建設
  • 淘寶客網(wǎng)站虛擬主機盤多多百度網(wǎng)盤搜索引擎
  • 如何管理好一個網(wǎng)站怎樣才能注冊自己的網(wǎng)站
  • web網(wǎng)站雙語切換怎么做在線seo短視頻
  • 有關網(wǎng)站建設的公眾號2022最好的百度seo
  • 怎么做網(wǎng)站的步驟網(wǎng)站制作的要點和步驟詳解
  • 網(wǎng)站接入地查詢互聯(lián)網(wǎng)最賺錢的行業(yè)
  • 轉轉怎么做釣魚網(wǎng)站知名網(wǎng)絡營銷推廣
  • 桂林手機網(wǎng)站建設seo推廣經(jīng)驗
  • 購物網(wǎng)站建設機構網(wǎng)絡營銷策略分析方法
  • 公文寫作 課程中心網(wǎng)站建設百度seo怎么優(yōu)化
  • 兼職做網(wǎng)站系統(tǒng)搜索引擎營銷的案例有哪些
  • 給博彩網(wǎng)站做推廣犯法樂云seo官網(wǎng)
  • 衢州市火車站片區(qū)規(guī)劃直通車推廣計劃方案