中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

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

重慶新聞頻道直播 今天seo主要優(yōu)化

重慶新聞頻道直播 今天,seo主要優(yōu)化,第一次做網站怎么樣下手,成都 網站建設 app 開發(fā)Every day a Leetcode 題目來源:2086. 從房屋收集雨水需要的最少水桶數 解法1:貪心 我們可以對字符串 hamsters 從左到右進行一次遍歷。 每當我們遍歷到一個房屋時,我們可以有如下的選擇: 如果房屋的兩側已經有水桶&#xff…

Every day a Leetcode

題目來源:2086. 從房屋收集雨水需要的最少水桶數

解法1:貪心

我們可以對字符串 hamsters 從左到右進行一次遍歷。

每當我們遍歷到一個房屋時,我們可以有如下的選擇:

  • 如果房屋的兩側已經有水桶,那么我們無需再放置水桶了;

  • 如果房屋的兩側沒有水桶,那么我們優(yōu)先在房屋的「右側」放置水桶,這是因為我們是從左到右進行遍歷的,即當我們遍歷到第 i 個位置時,前 i?1 個位置的房屋周圍都是有水桶的。因此我們在左側放置水桶沒有任何意義,而在右側放置水桶可以讓之后的房屋使用該水桶。

  • 如果房屋的右側無法放置水桶(例如是另一棟房屋或者邊界),那么我們只能在左側放置水桶。如果左側也不能放置,說明無解。

我們可以通過修改字符串來表示水桶的放置,從而實現上述算法。一種無需修改字符串的方法是,每當我們在房屋的右側放置水桶時,可以直接「跳過」后續(xù)的兩個位置,因為如果字符串形如 H.H,我們在第一棟房屋的右側(即兩棟房屋的中間)放置水桶后,就無需考慮第二棟房屋;如果字符串形如 H…,后續(xù)沒有房屋,我們也可以全部跳過。

代碼:

/** @lc app=leetcode.cn id=2086 lang=cpp** [2086] 從房屋收集雨水需要的最少水桶數*/// @lc code=start
class Solution
{
public:int minimumBuckets(string hamsters){int n = hamsters.size();int bucket = 0;for (int i = 0; i < n; i++){if (hamsters[i] == 'H'){if (i + 1 < n && hamsters[i + 1] == '.'){bucket++;i += 2;}else if (i - 1 >= 0 && hamsters[i - 1] == '.')bucket++;elsereturn -1;}}return bucket;}
};
// @lc code=end

結果:

復雜度分析:

時間復雜度:O(n),其中 n 是字符串 hamsters 的長度。

空間復雜度:O(1)。

解法2:動態(tài)規(guī)劃

設遍歷至前 i 個字符滿足條件的最小水桶數為 dp[i]。

若 street[i - 1] 為 ‘.’:

  • 不放置水桶。此時有
  • 若前面一個為房屋(street[i - 2] == ‘H’),可放置水桶。此時有

else if street[i - 1] 為 ‘H’:

  • 前方必須放置水桶,則必須滿足 street[i - 2] == ‘.’。此時有
  • 上一個條件滿足情況下如果水桶前方是房子(street[i - 3] == ‘H’),則這個水桶也可以接到前面房子的水。此時有

所有的狀態(tài)轉移取最小值即可。

代碼:

/** @lc app=leetcode.cn id=2086 lang=cpp** [2086] 從房屋收集雨水需要的最少水桶數*/// @lc code=start// 貪心// class Solution
// {
// public:
//     int minimumBuckets(string hamsters)
//     {
//         int n = hamsters.size();
//         int bucket = 0;
//         for (int i = 0; i < n; i++)
//         {
//             if (hamsters[i] == 'H')
//             {
//                 if (i + 1 < n && hamsters[i + 1] == '.')
//                 {
//                     bucket++;
//                     i += 2;
//                 }
//                 else if (i - 1 >= 0 && hamsters[i - 1] == '.')
//                     bucket++;
//                 else
//                     return -1;
//             }
//         }
//         return bucket;
//     }
// };class Solution
{
private:
#define INF 0x3F3F3F3F
#define MAX_LEN 1e5 + 10public:int minimumBuckets(string street){int n = street.size();vector<int> dp(MAX_LEN, INF);// 初始化dp[0] = 0;// 狀態(tài)轉移for (int i = 1; i <= n; i++){if (street[i - 1] == '.'){dp[i] = dp[i - 1];if (i - 2 >= 0 && street[i - 2] == 'H')dp[i] = min(dp[i], dp[i - 2] + 1);}else if (street[i - 1] == 'H'){if (i - 2 >= 0 && street[i - 2] == '.'){dp[i] = dp[i - 2] + 1;if (i - 3 >= 0 && street[i - 3] == 'H'){dp[i] = min(dp[i], dp[i - 3] + 1);}}}}return dp[n] >= INF ? -1 : dp[n];}
};
// @lc code=end

結果:

在這里插入圖片描述

復雜度分析:

時間復雜度:O(n),其中 n 是字符串 street 的長度。

空間復雜度:O(MAX_LEN)。狀態(tài)數組開銷,MAX_LEN = 1e5 + 10。

http://www.risenshineclean.com/news/4501.html

相關文章:

  • 網站建設公司專業(yè)網站開發(fā)需求seo服務外包客服
  • 織夢裝修網站模板有域名有服務器怎么做網站
  • wordpress在哪兒打開企業(yè)網站seo優(yōu)化外包
  • 網站域名空間費發(fā)票廣告詞
  • 烏魯木齊哪里可以建設網站關鍵詞語有哪些
  • 用python做網站開發(fā)的課程嘉興seo
  • 網站點擊率如何做百度一下百度
  • wordpress文章顯示小時分鐘天津seo推廣服務
  • 東莞網站如何制作google play官網入口
  • 網站會員注冊系統下載在線看seo網站
  • 做網站都需要用到什么百度網址大全怎么設為主頁
  • 九江做網站開發(fā)需要多少錢班級優(yōu)化大師網頁版登錄
  • 外貿網站用什么語言百度廣告推廣平臺
  • 實體門店管理系統武漢seo公司排名
  • 如何查看網站在哪里做的會計培訓班有用嗎
  • 獲獎設計網站怎么做ppt
  • 做網站需要材料北京專業(yè)網站優(yōu)化
  • 怎樣在設計網站做圖賺錢嗎投稿平臺
  • 青島網絡推廣選哪家seo推廣宣傳
  • 成都設計研究院北京seo產品
  • 蘇州網頁服務開發(fā)與網站建設鳳凰網臺灣資訊
  • 阿里云注銷網站什么是長尾關鍵詞舉例
  • 權威的網站建設網絡銷售是做什么的
  • 南寧網站建設 南寧聯達億seo優(yōu)化網站源碼
  • 現在怎么做網絡營銷推廣方法網站的優(yōu)化seo
  • 北京 做網站 公司微信公眾號小程序怎么做
  • 注重網站內容維護百度推廣賬號怎么申請
  • 電子產品營銷策劃書seo優(yōu)化易下拉霸屏
  • 重慶網絡網站推廣網絡營銷公司排行榜
  • 開通網站必須做域名空間營銷方法有哪些方式