家好,很高興又見面了,我是姜茶的編程筆記,我們一起學習前端相關領域技術,共同進步,也歡迎大家關注、點贊、收藏、轉發,您的支持是我不斷創作的動力
鐵子們!從 2024/07/26 開始,我們進入算法專題篇的學習啦 。學習計劃如下:
1?? 每日一題;
2?? 學習順序是由易到難;
3?? 題目按照數據結構進行分類;
4?? 每個類型的題目預計安排 100 道題(簡單/中等/困難各 33 道);
給定一個由 整數 組成的 非空 數組所表示的非負整數,在該數的基礎上加一。
最高位數字存放在數組的首位, 數組中每個元素只存儲單個數字。
你可以假設除了整數 0 之外,這個整數不會以零開頭。
示例 1:
輸入:digits=[1,2,3]
> 輸出:[1,2,4]
> 解釋:輸入數組表示數字 123。
示例 2:
輸入:digits=[4,3,2,1]
> 輸出:[4,3,2,2]
> 解釋:輸入數組表示數字 4321。
示例 3:
輸入:digits=[0]
> 輸出:[1]
提示:
要解決這個問題,我們可以從數組尾部開始往前掃,逐位進位即可。最高位如果還有進位需要在數組里面第 0 位再插入一個 1 。以下是詳細的解釋和多種解決方法:
通過從數組的末尾開始,逐位處理進位問題,直到處理完所有需要進位的情況。
var plusOne=function (digits) {
for (let i=digits.length - 1; i >=0; i--) {
if (digits[i] < 9) {
digits[i]++;
return digits;
}
digits[i]=0;
}
digits.unshift(1);
return digits;
}
使用遞歸方法處理每一位上的加法和進位問題。這種方法在實際應用中不如方法一高效,但它展示了不同的思維方式。
var plusOne=function (digits) {
function helper(index) {
if (index===-1) {
digits.unshift(1);
return;
}
if (digits[index] < 9) {
digits[index]++;
return;
}
digits[index]=0;
helper(index - 1);
}
helper(digits.length - 1);
return digits;
}
在實際應用中,遍歷加法是解決這個問題的最佳選擇,因為它不僅能在 O(n) 的時間復雜度內高效處理加一操作,而且實現簡單易懂。遞歸方法雖然展示了不同的思維方式,但在性能和實現復雜度上不如遍歷加法法優越。
附件:
如果有任何問題或建議,歡迎在評論區留言交流!祝你編程愉快!
.HTML 介紹
是網頁的后綴,txt 后綴是文本 ,py 后綴是 python ,html 后綴就是網頁的意思。我們如果想創建一個網頁的話,可以直接將文本的后綴改為 html 。HTMLSHI 超文本標記語言,是一種標識性的語言。它包括一系列標記標簽,通過這些標記標簽可以將網絡上的文檔格式統一,使分散的Internet資源連接為一個邏輯整體。
1.html 的介紹
頁面整體分為兩部分:
一部分是head部分,主要是頁面的整體信息和配置,內容不會出現在瀏覽器內部。
一部分是body部分,這部分內容則會在瀏覽器中展示出來
我們使用 pycharm 創建一個 html ,打開后就是下圖模樣。
(1)文檔類型聲明(默認的可以不用設置)
<!DOCTYPE html>
(2)開始標簽和結束標簽
一般的標簽是成對出現的,一般稱第一個標簽是開始標簽,第二個是結束標簽。開始和結束標簽也稱為開放標簽和閉合標簽。
開始標簽:
<html lang="en">
其中的 html 為根元素,是所有元素的基礎。lang 表示語言,en 表示英文。
結束標簽:
</html>
(3)頭部標簽
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
其中 utf-8 表示字符編碼格式,如果沒有寫這個就會發生亂碼。Title 表示文檔的標題。
(4)身體標簽
<body>
</body>
身體標簽是文檔的主題,可視化區域,所有的音頻,視頻,圖片,文字都可在其中搭建,相當于我們打開網頁時所看到內容。
(5)標簽的特點
標簽是由一對尖括號包裹單詞構成的,標簽要使用小寫。 一般的標簽是成對出現的,一般稱第一個標簽是開始標簽,第二個是結束標簽。開始和結束標簽也稱為開放標簽和閉合標簽。
二.標簽
標簽分為塊級標簽和內聯標簽(運行時點擊右上角的谷歌模式的小圓圈就可以)
1.內容的書寫
(1)塊級標簽(p)
兩個 p 中間可隨意書寫內容
<p>故事和酒,淘寶都有</p>
(2)內聯標簽(span)
<span>故事和酒,淘寶都有</span>
完整代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!-- 塊級標簽-->
<p>故事和酒,淘寶都有</p>
<!--內聯標簽-->
<span>故事和酒,淘寶都有</span>
</body>
</html>
運行后:
運行后看不出塊級標簽和內聯標簽的區別,所有我們使用檢查。右擊后點擊檢查
在點擊下圖中左上角的方框箭頭,變成藍色說明正在運行,之后就可以查看有關的數據了
無需點擊,只要將箭頭放在文字上就會出現相關內容
上面兩圖可以明顯看出兩句話的寬度不相同。
塊級標簽:在不設置寬度的情況下,寬度始終和瀏覽器寬度保持一致。
內聯標簽:寬度和內容有關
2.設置高度寬度
<p style="width: 500px;height: 50px;">故事和酒,淘寶都有</p>
<span style="width: 500px;height: 50px;">故事和酒,淘寶都有</span>
如圖所示,只有塊級標簽寬高改變了,內聯標簽不改變。由此可得,塊級標簽設置寬高有效,內聯標簽設置寬高無效。
3.多個標簽同時存在
<body>
<!-- 塊級標簽-->
<p>故事和酒,淘寶都有</p>
<p>故事和酒,淘寶都有</p>
<!--內聯標簽-->
<span>故事和酒,淘寶都有22</span>
<span>故事和酒,淘寶都有22</span>
</body>
多個塊級標簽同時存在的情況下,排列方式從上往下
多個內聯標簽同時存在的情況下,排列方式從左往右
4.是否包含
<body>
<!-- 塊級標簽-->
<p>故事和酒,淘寶都有
<span>故事和酒,淘寶都有22</span>
</p>
<!--內聯標簽-->
<span>故事和酒,淘寶都有22
<p>故事和酒,淘寶都有</p>
</span>
</body>
由此可知,塊級標簽可以包含內聯標簽,但內聯標簽不可以包含塊級標簽,只可以包含內聯標簽。
5.塊級標簽與內聯標簽相互轉換
(1)塊級轉內聯
<body>
<!--將塊級標簽轉化成內聯標簽-->
<p style="display: inline">故事和酒,淘寶都有</p>
<p style="display: inline">故事和酒,淘寶都有</p>
</body>
(2)內聯轉塊級(display: block)
內聯轉為塊級之后,具有了塊級的性質。
<span style="display: block">故事和酒,淘寶都有222</span>
<span style="display: block">故事和酒,淘寶都有222</span>
(3)內聯塊元素(display: inline-block)
內聯塊元素包含了內聯標簽和塊級標簽的部分特性。
<span style="display: inline-block">故事和酒,淘寶都有333</span>
<span style="display: inline-block;height: 50px">故事和酒,淘寶都有333</span>
(4)段落標簽(p)
<!--段落標簽-->
<p></p>
(5)標題標簽(h)
1.HTML標簽由尖括號包圍關鍵詞。通常是成對出現的,稱為雙標簽。例如<html>(開始標簽)和</html>(結束標簽)。有些特殊標簽為單個標簽,稱為單標簽。例如<br/>
2.標簽關系有包含關系和并列關系
3.標簽的含義(語義):標簽是用來干嘛的。(在適合的地方給一個合理的標簽可以使頁面結構更清晰)
4.每個網頁都會有一個基本的結構標簽(也稱為骨架標簽),HTML頁面也稱為HTML文檔
1.<html>標簽是根標簽,頁面中最大的標簽
2.<head>標簽是文檔的頭部,在<head>標簽內必須設置<title>標簽
3.<title>標簽是文檔的標題,網頁的標題
4.<body>標簽是文檔的主體,文檔的所有內容,網頁內容
(1) 語義:作為標題使用,并依據重要性遞減(2) 特點:a.加了標題標簽文字會變粗,字號依次變大 b.一個標題獨占一行
(1) 語義:可以把HTML文檔分割為若干段落
(2) 特點:a.一個段落根據瀏覽器窗口的大的自動換行 b.段落之間有大的空隙
(1) 語義:強制換行
(2) 特點:a.<br/>是個單標簽 b.<br/>只是簡單重新開始一行與段落不同
(1) 加粗:<strong></strong>或<b></b> 推薦使用<strong>標簽,語義更強烈
(2) 傾斜:<em></em>或<i></i> 推薦使用<em>標簽,語義更強烈(emphasize)
(3) 刪除線:<del></del>或<s></s> 推薦使用<del>標簽,語義更強烈(delete)
(4) 下劃線:<ins></ins>或<u></u> 推薦使用<ins>標簽,語義更強烈(insert)
特點:a.<div>標簽用來布局,一行只能放一個<div>,是個大盒子 b.<span>標簽用來布局,一行可以有多個<span>,是個小盒子
*請認真填寫需求信息,我們會在24小時內與您取得聯系。