快快樂樂學會 Angular 2 網站開發框架• Plunker 14 Angular 2 頁面的組成 應用程式元件 + 樣板 + 樣式 ( AppComponent ) 頁首元件 + 樣板 + 樣式 ( HeaderComponent ) 子選單 元件 + 樣板 + 樣式 (AsideComponent) 15 主要內容 元件 + 樣板 + 樣式 (ArticleComponent) Angular 2 應用程式的組成 • Module 應用程式被切分成許多「模組」 • Component 每個模組下有許多「元件」 • Template 每個元件都可能有自己的「樣板」 • Metadata 每個元件都可以標示「中繼資料」 • Data Binding 樣板與元件屬性、方法可以進行綁定 • Directive 將 DOM 轉換為多功能的「宣告命令」 • Service 由「服務」集中管理資料與運算邏輯 以下這兩種是完全相等的語法 ( 使用 # 是語法糖 ) – #name – ref-name 31 三種 Angular 指令 (Directives) • 元件型指令 – 預設「元件」就是一個含有樣板的指令 (最常見) • 屬性型指令 – 這種指令會修改元素的外觀或行為 – 例如內建的 NgStyle 或 NgClass 指令就可讓你自由的變更樣式 • 結構型指令 (Structure Directives)0 码力 | 38 页 | 1.12 MB | 1 年前3
Comprehensive Rust(繁体中文)51.3 HAL Crate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 51.4 開發板支援 Crate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 51.5 型別狀態模式 . . . . Both microcontrollers and application processors are covered. 針對微控制器,您會需要預先購買 BBC micro:bit 第 2 版開發板。此外,所有人都需要按照歡迎頁面上的 指示安裝多種套件。 14 Concurrency in Rust The Concurrency in Rust deep dive is a full day + debuginfo] target(s) in 0.75s Running `target/debug/exercise` Hello, world! 4. 將 src/main.rs 中的樣板程式碼替換為自己的程式碼。以上一頁的範例為例,替換後的 src/main.rs 會類似如下: fn main() { println!("Edit me!"); } 5. 使用 cargo run0 码力 | 358 页 | 1.41 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 C# 版,即 ? 為短板、? 為長板。 第 15 章 貪婪 www.hello‑algo.com 353 圖 15‑8 初始狀態 如圖 15‑9 所示,若此時將長板 ? 向短板 ? 靠近,則容量一定變小。 這是因為在移動長板 ? 後,寬度 ? − ? 肯定變小;而高度由短板決定,因此高度只可能不變(? 仍為短板)或 變小(移動後的 ? 成為短板)。 圖 15‑9 向內移動長板後的狀態 反向思考,我們只有向內收縮短板 指標相遇。 圖 15‑11 展示了貪婪策略的執行過程。 1. 初始狀態下,指標 ? 和 ? 分列陣列兩端。 2. 計算當前狀態的容量 ???[?, ?] ,並更新最大容量。 3. 比較板 ? 和板 ? 的高度,並將短板向內移動一格。 4. 迴圈執行第 2. 步和第 3. 步,直至 ? 和 ? 相遇時結束。 第 15 章 貪婪 www.hello‑algo.com 355 圖 15‑11 ht) { // 初始化 i, j,使其分列陣列兩端 int i = 0, j = ht.Length - 1; // 初始最大容量為 0 int res = 0; // 迴圈貪婪選擇,直至兩板相遇 第 15 章 貪婪 www.hello‑algo.com 356 while (i < j) { // 更新最大容量 int cap = Math.Min(ht[i], ht[j]) *0 码力 | 379 页 | 18.79 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Dart 版,即 ? 為短板、? 為長板。 第 15 章 貪婪 www.hello‑algo.com 352 圖 15‑8 初始狀態 如圖 15‑9 所示,若此時將長板 ? 向短板 ? 靠近,則容量一定變小。 這是因為在移動長板 ? 後,寬度 ? − ? 肯定變小;而高度由短板決定,因此高度只可能不變(? 仍為短板)或 變小(移動後的 ? 成為短板)。 圖 15‑9 向內移動長板後的狀態 反向思考,我們只有向內收縮短板 指標相遇。 圖 15‑11 展示了貪婪策略的執行過程。 1. 初始狀態下,指標 ? 和 ? 分列陣列兩端。 2. 計算當前狀態的容量 ???[?, ?] ,並更新最大容量。 3. 比較板 ? 和板 ? 的高度,並將短板向內移動一格。 4. 迴圈執行第 2. 步和第 3. 步,直至 ? 和 ? 相遇時結束。 第 15 章 貪婪 www.hello‑algo.com 354 圖 15‑11 ht) { // 初始化 i, j,使其分列陣列兩端 int i = 0, j = ht.length - 1; // 初始最大容量為 0 int res = 0; // 迴圈貪婪選擇,直至兩板相遇 第 15 章 貪婪 www.hello‑algo.com 355 while (i < j) { // 更新最大容量 int cap = min(ht[i], ht[j]) * (j -0 码力 | 378 页 | 18.77 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Go 版,即 ? 為短板、? 為長板。 第 15 章 貪婪 www.hello‑algo.com 359 圖 15‑8 初始狀態 如圖 15‑9 所示,若此時將長板 ? 向短板 ? 靠近,則容量一定變小。 這是因為在移動長板 ? 後,寬度 ? − ? 肯定變小;而高度由短板決定,因此高度只可能不變(? 仍為短板)或 變小(移動後的 ? 成為短板)。 圖 15‑9 向內移動長板後的狀態 反向思考,我們只有向內收縮短板 指標相遇。 圖 15‑11 展示了貪婪策略的執行過程。 1. 初始狀態下,指標 ? 和 ? 分列陣列兩端。 2. 計算當前狀態的容量 ???[?, ?] ,並更新最大容量。 3. 比較板 ? 和板 ? 的高度,並將短板向內移動一格。 4. 迴圈執行第 2. 步和第 3. 步,直至 ? 和 ? 相遇時結束。 第 15 章 貪婪 www.hello‑algo.com 361 圖 15‑11 maxCapacity(ht []int) int { // 初始化 i, j,使其分列陣列兩端 i, j := 0, len(ht)-1 // 初始最大容量為 0 res := 0 // 迴圈貪婪選擇,直至兩板相遇 第 15 章 貪婪 www.hello‑algo.com 362 for i < j { // 更新最大容量 capacity := int(math.Min(float64(ht[i])0 码力 | 385 页 | 18.80 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Kotlin 版,即 ? 為短板、? 為長板。 第 15 章 貪婪 www.hello‑algo.com 356 圖 15‑8 初始狀態 如圖 15‑9 所示,若此時將長板 ? 向短板 ? 靠近,則容量一定變小。 這是因為在移動長板 ? 後,寬度 ? − ? 肯定變小;而高度由短板決定,因此高度只可能不變(? 仍為短板)或 變小(移動後的 ? 成為短板)。 圖 15‑9 向內移動長板後的狀態 反向思考,我們只有向內收縮短板 指標相遇。 圖 15‑11 展示了貪婪策略的執行過程。 1. 初始狀態下,指標 ? 和 ? 分列陣列兩端。 2. 計算當前狀態的容量 ???[?, ?] ,並更新最大容量。 3. 比較板 ? 和板 ? 的高度,並將短板向內移動一格。 4. 迴圈執行第 2. 步和第 3. 步,直至 ? 和 ? 相遇時結束。 第 15 章 貪婪 www.hello‑algo.com 358 圖 15‑11 = 0 var j = ht.size - 1 // 初始最大容量為 0 var res = 0 第 15 章 貪婪 www.hello‑algo.com 359 // 迴圈貪婪選擇,直至兩板相遇 while (i < j) { // 更新最大容量 val cap = min(ht[i], ht[j]) * (j - i) res = max(res, cap) // 向內移動短板0 码力 | 382 页 | 18.79 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Java 版,即 ? 為短板、? 為長板。 第 15 章 貪婪 www.hello‑algo.com 353 圖 15‑8 初始狀態 如圖 15‑9 所示,若此時將長板 ? 向短板 ? 靠近,則容量一定變小。 這是因為在移動長板 ? 後,寬度 ? − ? 肯定變小;而高度由短板決定,因此高度只可能不變(? 仍為短板)或 變小(移動後的 ? 成為短板)。 圖 15‑9 向內移動長板後的狀態 反向思考,我們只有向內收縮短板 指標相遇。 圖 15‑11 展示了貪婪策略的執行過程。 1. 初始狀態下,指標 ? 和 ? 分列陣列兩端。 2. 計算當前狀態的容量 ???[?, ?] ,並更新最大容量。 3. 比較板 ? 和板 ? 的高度,並將短板向內移動一格。 4. 迴圈執行第 2. 步和第 3. 步,直至 ? 和 ? 相遇時結束。 第 15 章 貪婪 www.hello‑algo.com 355 圖 15‑11 ht) { // 初始化 i, j,使其分列陣列兩端 int i = 0, j = ht.length - 1; // 初始最大容量為 0 int res = 0; // 迴圈貪婪選擇,直至兩板相遇 第 15 章 貪婪 www.hello‑algo.com 356 while (i < j) { // 更新最大容量 int cap = Math.min(ht[i], ht[j]) *0 码力 | 379 页 | 18.79 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 JavaScript 版,即 ? 為短板、? 為長板。 第 15 章 貪婪 www.hello‑algo.com 353 圖 15‑8 初始狀態 如圖 15‑9 所示,若此時將長板 ? 向短板 ? 靠近,則容量一定變小。 這是因為在移動長板 ? 後,寬度 ? − ? 肯定變小;而高度由短板決定,因此高度只可能不變(? 仍為短板)或 變小(移動後的 ? 成為短板)。 圖 15‑9 向內移動長板後的狀態 反向思考,我們只有向內收縮短板 指標相遇。 圖 15‑11 展示了貪婪策略的執行過程。 1. 初始狀態下,指標 ? 和 ? 分列陣列兩端。 2. 計算當前狀態的容量 ???[?, ?] ,並更新最大容量。 3. 比較板 ? 和板 ? 的高度,並將短板向內移動一格。 4. 迴圈執行第 2. 步和第 3. 步,直至 ? 和 ? 相遇時結束。 第 15 章 貪婪 www.hello‑algo.com 355 圖 15‑11 0, j = ht.length - 1; // 初始最大容量為 0 let res = 0; 第 15 章 貪婪 www.hello‑algo.com 356 // 迴圈貪婪選擇,直至兩板相遇 while (i < j) { // 更新最大容量 const cap = Math.min(ht[i], ht[j]) * (j - i); res = Math.max(res, cap);0 码力 | 379 页 | 18.78 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 TypeScript 版,即 ? 為短板、? 為長板。 第 15 章 貪婪 www.hello‑algo.com 358 圖 15‑8 初始狀態 如圖 15‑9 所示,若此時將長板 ? 向短板 ? 靠近,則容量一定變小。 這是因為在移動長板 ? 後,寬度 ? − ? 肯定變小;而高度由短板決定,因此高度只可能不變(? 仍為短板)或 變小(移動後的 ? 成為短板)。 圖 15‑9 向內移動長板後的狀態 反向思考,我們只有向內收縮短板 指標相遇。 圖 15‑11 展示了貪婪策略的執行過程。 1. 初始狀態下,指標 ? 和 ? 分列陣列兩端。 2. 計算當前狀態的容量 ???[?, ?] ,並更新最大容量。 3. 比較板 ? 和板 ? 的高度,並將短板向內移動一格。 4. 迴圈執行第 2. 步和第 3. 步,直至 ? 和 ? 相遇時結束。 第 15 章 貪婪 www.hello‑algo.com 360 圖 15‑11 0, j = ht.length - 1; // 初始最大容量為 0 let res = 0; 第 15 章 貪婪 www.hello‑algo.com 361 // 迴圈貪婪選擇,直至兩板相遇 while (i < j) { // 更新最大容量 const cap: number = Math.min(ht[i], ht[j]) * (j - i); res = Math.max(res0 码力 | 384 页 | 18.80 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Swift 版,即 ? 為短板、? 為長板。 第 15 章 貪婪 www.hello‑algo.com 353 圖 15‑8 初始狀態 如圖 15‑9 所示,若此時將長板 ? 向短板 ? 靠近,則容量一定變小。 這是因為在移動長板 ? 後,寬度 ? − ? 肯定變小;而高度由短板決定,因此高度只可能不變(? 仍為短板)或 變小(移動後的 ? 成為短板)。 圖 15‑9 向內移動長板後的狀態 反向思考,我們只有向內收縮短板 指標相遇。 圖 15‑11 展示了貪婪策略的執行過程。 1. 初始狀態下,指標 ? 和 ? 分列陣列兩端。 2. 計算當前狀態的容量 ???[?, ?] ,並更新最大容量。 3. 比較板 ? 和板 ? 的高度,並將短板向內移動一格。 4. 迴圈執行第 2. 步和第 3. 步,直至 ? 和 ? 相遇時結束。 第 15 章 貪婪 www.hello‑algo.com 355 圖 15‑11 i, j,使其分列陣列兩端 var i = ht.startIndex, j = ht.endIndex - 1 // 初始最大容量為 0 var res = 0 // 迴圈貪婪選擇,直至兩板相遇 第 15 章 貪婪 www.hello‑algo.com 356 while i < j { // 更新最大容量 let cap = min(ht[i], ht[j]) * (j - i)0 码力 | 379 页 | 18.79 MB | 10 月前3
共 17 条
- 1
- 2













