第四天——貪心算法——種花

1. 題目

?

有一個花壇,其中0?表示該位置是空的,可以種花。1?表示該位置已經有花,不能種花。

規則:新種的花不能種在相鄰的位置(即如果某個位置已經種了花,它的左右兩個相鄰位置不能再種花)。給定 花壇flowerbed?數組和需要新種的花的數量 n,判斷是否可以成功種下 n 朵新花。

2. 示例

輸入:

flowerbed = [1,0,0,0,1], n = 1

輸出:True

解釋:可以在中間位置種 1 朵花而不違反規則。

3. 解題思路

核心思想: 貪心算法(嘗試在可以種花的位置立即種花,以盡早滿足 n 的要求)。

  1. 遍歷數組:檢查每一個位置是否可以種花。
  2. 判斷條件
    • 當前位置是?0(空)。
    • 當前位置的左邊是?0(或者是邊界,即左邊沒有花)。
    • 當前位置的右邊是?0(或者是邊界,即右邊沒有花)。
  3. 如果可以種花
    • 把該位置設為?1(標記為已種)。
    • 計數器?count += 1(記錄已種的花數)。
  4. 終止條件
    • 當?count >= n?時,可以直接返回?True(表示已經可以種?n?朵花了)。
    • 遍歷結束后如果?count >= n,返回?True,否則返回?False

4. 完整代碼

def canPlaceFlowers(flowerbed, n):count = 0  # 記錄可以種的花的數量length = len(flowerbed)for i in range(length):if flowerbed[i] == 0:  # 當前位置是空的# 檢查左邊(如果是第一個位置則左邊視為空)left_empty = (i == 0) or (flowerbed[i-1] == 0)# 檢查右邊(如果是最后一個位置則右邊視為空)right_empty = (i == length - 1) or (flowerbed[i+1] == 0)if left_empty and right_empty:flowerbed[i] = 1  # 種花count += 1if count >= n:  # 提前終止return Truereturn count >= n
print(canPlaceFlowers([1,0,0,0,1], 1))

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/905605.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/905605.shtml
英文地址,請注明出處:http://en.pswp.cn/news/905605.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【重磅】配電網智能軟開關和儲能聯合規劃

目錄 1 主要內容 目標函數 數據說明 節點系統圖 2 部分代碼 3 程序結果 4 下載鏈接 1 主要內容 該程序復現《具有源荷不平衡特性的配電網智能軟開關和儲能聯合規劃》部分模型,未考慮聚類分析和分布魯棒部分,就智能軟開關和儲能聯合規劃部分進行了…

QMK固件OLED顯示屏配置教程:從零開始實現個性化鍵盤顯示(實操部分)

QMK固件OLED顯示屏配置教程:從零開始實現個性化鍵盤顯示 ?? 前言: 作為一名鍵盤愛好者,近期研究了QMK固件的OLED顯示屏配置,發現網上的教程要么太過復雜,要么過于簡單無法實際操作。因此決定寫下這篇教程,從零基礎出發,帶大家一步步實現鍵盤OLED屏幕的配置與個性化顯示…

中國科學院計算所:從 NFS 到 JuiceFS,大模型訓推平臺存儲演進之路

中科院計算所在建設大模型訓練與推理平臺過程中,模型規模與數據集數量呈爆發式增長。最初采用簡單的裸機存儲方案,但很快面臨數據孤島、重復冗余、管理混亂和資源利用不均等問題,于是升級到了 NFS 系統。然而,隨著使用強度增加&am…

飛牛NAS本地部署開源TTS文本轉語音工具EasyVoice與遠程使用流程

文章目錄 前言1. 環境準備2. Docker部署與運行3. 簡單使用測試4. 安裝內網穿透4.1 開啟ssh連接安裝cpolar4.2 創建公網地址 5. 配置固定公網地址總結 前言 本文主要介紹如何在fnOS飛牛云NAS使用Docker本地部署一款非常好用的開源TTS文本轉語音工具EasyVoice,并結合…

部署安裝jenkins.war(2.508)

實驗目的:部署jenkins,并與gitlab關聯bulid 所需軟件:jdk-17_linux-x64_bin.tar.gz jenkins.war apache-tomcat-10.1.40.tar.gz 實驗主機:8.10具有java環境,內存最少為4G,cpu雙核 目錄 jdk安裝 …

AEO認證的好處 ,如何快速獲取AEO認證?

AEO認證的好處及快速獲取方法 AEO(Authorized Economic Operator,經認證的經營者) 是海關對符合國際供應鏈安全標準的企業給予的認證,分為 AEO一般認證 和 AEO高級認證。獲得AEO認證可享受多項通關便利,提升企業國際貿…

(01)數字化轉型之采購管理:從計劃到退貨的精細化管控

引言:采購管理對企業運營的關鍵作用 在當今競爭激烈的商業環境中,采購管理已成為企業成本控制和供應鏈優化的核心環節。一項研究顯示,采購成本通常占企業總成本的60%-80%,而高效的采購管理可幫助企業降低5%-15%的采購成本。本文將…

技術視界 | 青龍機器人訓練地形詳解(四):復雜地形精講之斜坡

在前幾篇文章中,我們依次講解了如何創建一個地形、如何將地形添加到訓練環境中,并在上一期深入分析了復雜地形之一——臺階地形的創建方式與訓練意義。本文將繼續聚焦復雜地形訓練中另一類代表性地形——斜坡(Slope)與金字塔斜坡&…

【MySQL】多表連接查詢

個人主頁:Guiat 歸屬專欄:MySQL 文章目錄 1. 多表連接查詢概述1.1 連接查詢的作用1.2 MySQL支持的連接類型 2. 內連接 (INNER JOIN)2.1 內連接的特點2.2 內連接語法2.3 內連接實例2.4 多表內連接 3. 左外連接 (LEFT JOIN)3.1 左外連接的特點3.2 左外連接…

養豬場巡檢機器人的設計與應用研究

摘要 本論文針對傳統養豬場人工巡檢效率低、勞動強度大、數據準確性差等問題,設計了一種適用于養豬場的巡檢機器人。詳細闡述了該機器人的設計思路、技術原理、系統組成及功能特點,并通過實際應用案例分析其在養豬場中的應用效果。研究表明,養…

使用PEFT庫將原始模型與LoRA權重合并

使用PEFT庫將原始模型與LoRA權重合并 步驟如下: 基礎模型加載:需保持與LoRA訓練時相同的模型配置merge_and_unload():該方法會執行權重合并并移除LoRA層保存格式:合并后的模型保存為標準HuggingFace格式,可直接用于推…

適用于 iOS 的 開源Ultralytics YOLO:應用程序和 Swift 軟件包,用于在您自己的 iOS 應用程序中運行 YOLO

?一、軟件介紹 文末提供程序和源碼下載 該項目利用 Ultralytics 最先進的 YOLO11 模型將您的 iOS 設備轉變為用于對象檢測的強大實時推理工具。直接從 App Store 下載該應用程序,或瀏覽我們的指南,將 YOLO 功能集成到您自己的 Swift 應用程序中。 二、…

js關于number類型的計算問題

js中關于number類型的計算 因:在js中,number類型是用于表示數值的基本類型,它遵循 IEEE 754 雙精度浮點數(64 位)標準。這導致在某些計算中可能出現精度問題。 例:console.log(0.1 0.2); // 0.300000000…

RAG之大規模解析 PDF 文檔全流程實戰

PDF 文檔在商業、學術和政府領域無處不在,蘊含著大量寶貴信息。然而,從 PDF 中提取結構化數據卻面臨著獨特的挑戰,尤其是在處理數千甚至數百萬個文檔時。本指南探討了大規模解析 PDF 的策略和工具。 PDF解析挑戰 PDF 的設計初衷是為了提供一致的視覺呈現,而非數據提取。這…

TypeScript:類

一、基本概念 TypeScript 類是基于 ES6 類的語法擴展,增加了類型注解和訪問修飾符等特性,提供了更強大的面向對象編程能力。 二、基本語法 class Person {name: string;age: number;constructor(name: string, age: number) {this.name name;this.ag…

搶購Python代碼示例與技術解析

引言:搶購系統的技術挑戰 在當今電子商務高度發達的時代,搶購活動已成為各大電商平臺吸引用戶的重要手段。然而,高并發、低延遲的搶購場景對系統設計提出了嚴峻挑戰。本文將提供一個完整的Python搶購代碼示例,并深入分析其技術實…

實戰分析Cpython逆向

Cpython逆向 Python代碼轉換為C代碼的時候,將會大大增加框架代碼量。 1、正向py->c 先有正向,再有逆向 pip install cython 寫一個簡單的pyx文件 .pyx 文件是由 Cython 編程語言 "編寫" 而成的 Python 擴展模塊源代碼文件 print(&qu…

Modbus轉IEC104網關(三格電子)

產品概述 Modbus轉IE104網關型號SG-TCP-IEC104,是三格電子推出的工業級網關(以下簡稱網關),主要用于Modbus RTU/TCP/ASCII數據采集、DLT645-1997/2007數據采集,可接多功能電力儀表、溫控儀、電表等,將采集…

智能工具協同賦能STEM教育科研|探索LLM大語言模型和數學軟件Maple的創新實踐

LLM 與 Maple:開啟 STEM 教育科研新范式 在當今數字化浪潮下,教育與科研領域正面臨著前所未有的變革機遇。大語言模型(LLM)的橫空出世,為知識生成、問題求解等帶來了全新思路;而數學軟件 Maple 以其強大的…

專項智能練習(定義判斷)_DA_01

1. 單選題 熱傳導是介質內無宏觀運動時的傳熱現象,其在固體、液體和氣體中均可發生。但嚴格而言,只有在固體中才是純粹的熱傳導,在流體(泛指液體和氣體)中又是另外一種情況,流體即使處于靜止狀態&#xff0…