-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlocal-search.xml
More file actions
153 lines (73 loc) · 20.6 KB
/
local-search.xml
File metadata and controls
153 lines (73 loc) · 20.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>[Leetcode] 3512.Minimum Operations to Make Array Sum Divisible by K</title>
<link href="/2025/11/29/Leetcode/Array/3512_Minimum_Operations_to_Make_Array_Sum_Divisible_by_K/"/>
<url>/2025/11/29/Leetcode/Array/3512_Minimum_Operations_to_Make_Array_Sum_Divisible_by_K/</url>
<content type="html"><![CDATA[<h2 id="題目"><a href="#題目" class="headerlink" title="題目"></a>題目</h2><blockquote><p><a href="https://leetcode.com/problems/minimum-operations-to-make-array-sum-divisible-by-k/description/?envType=daily-question&envId=2025-11-29">3512.Minimum Operations to Make Array Sum Divisible by K</a></p></blockquote><h2 id="解題思路"><a href="#解題思路" class="headerlink" title="解題思路"></a>解題思路</h2><p>題目說明要回傳最小陣列總和可被k整除的最少次數,因此直接進行取模運算,餘數即為最少情況。</p><p><strong>舉例 :</strong><br>陣列為[3,9,7], k為5<br>陣列總和為19除以5餘數為4,由於可對陣列任一數進行nums[i] - 1,因此餘數相當於扣除多少次才使總和能被k整除。<br>19 - 4 = 15<br>15 % 5 = 0 (整除)</p><h2 id="題解"><a href="#題解" class="headerlink" title="題解"></a>題解</h2><p><strong>方法一 :</strong></p><figure class="highlight cpp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs cpp"><span class="hljs-keyword">class</span> <span class="hljs-title class_">Solution</span> {<br><span class="hljs-keyword">public</span>:<br> <span class="hljs-function"><span class="hljs-type">int</span> <span class="hljs-title">minOperations</span><span class="hljs-params">(vector<<span class="hljs-type">int</span>>& nums, <span class="hljs-type">int</span> k)</span> </span>{<br><br> <span class="hljs-type">int</span> sum = <span class="hljs-number">0</span>;<br> <span class="hljs-keyword">for</span>(<span class="hljs-type">int</span> i = <span class="hljs-number">0</span>; i < nums.<span class="hljs-built_in">size</span>(); i++) {<br> sum += nums[i];<br> }<br><br> <span class="hljs-keyword">return</span> sum % k;<br> }<br>};<br></code></pre></td></tr></table></figure><p><strong>方法二 :</strong><br>使用 <a href="https://www.geeksforgeeks.org/cpp/accumulate-and-partial_sum-in-c-stl-numeric-header/">accumulate</a> 函式庫快速求和</p><figure class="highlight cpp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs cpp"><span class="hljs-keyword">class</span> <span class="hljs-title class_">Solution</span> {<br><span class="hljs-keyword">public</span>:<br> <span class="hljs-function"><span class="hljs-type">int</span> <span class="hljs-title">minOperations</span><span class="hljs-params">(vector<<span class="hljs-type">int</span>>& nums, <span class="hljs-type">int</span> k)</span> </span>{<br> <span class="hljs-keyword">return</span> <span class="hljs-built_in">accumulate</span>(nums.<span class="hljs-built_in">begin</span>(), nums.<span class="hljs-built_in">end</span>(), <span class="hljs-number">0</span>) % k;<br> }<br>};<br></code></pre></td></tr></table></figure>]]></content>
<categories>
<category>Leetcode</category>
<category>Array</category>
</categories>
<tags>
<tag>Array</tag>
<tag>Math</tag>
</tags>
</entry>
<entry>
<title>[UVa] 12289.one-two-three</title>
<link href="/2025/11/19/UVa/Uva12289/"/>
<url>/2025/11/19/UVa/Uva12289/</url>
<content type="html"><![CDATA[<h2 id="題目"><a href="#題目" class="headerlink" title="題目"></a>題目</h2><p>你的弟弟剛學會寫英文的一二三。他在一張紙上寫了很多這幾個字,而你的工作便是辨認它們。要注意的是你弟弟不過是個小孩子,因此他會犯些小錯誤:至多一個錯誤的字母。單字長度一定是正確的。他所寫的一定是小寫字母,每個單字只可能有一種合理解釋。</p><h2 id="輸入-輸出說明"><a href="#輸入-輸出說明" class="headerlink" title="輸入/輸出說明"></a>輸入/輸出說明</h2><p><strong>Input:</strong></p><blockquote></blockquote><p>第一行包含你弟弟所寫單字數。接下來的每一行含有一個小寫字母組成的單字。單字必符合上述限制:至多一個錯誤的字母,但是單字長度永遠正確。輸入中最多有 10 個單字。</p><p><strong>Output:</strong></p><blockquote></blockquote><p>對每筆測資,輸出單字的數值。</p><h2 id="範例"><a href="#範例" class="headerlink" title="範例"></a>範例</h2><p><strong>Input:</strong><br>3<br>owe<br>too<br>theee</p><p><strong>Output:</strong><br>1<br>2<br>3</p><h2 id="解題思路"><a href="#解題思路" class="headerlink" title="解題思路"></a>解題思路</h2><p>three直接判斷字母數,one與two判斷其中兩個字母是否相同</p><h2 id="題解"><a href="#題解" class="headerlink" title="題解"></a>題解</h2><figure class="highlight cpp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br></pre></td><td class="code"><pre><code class="hljs cpp"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string"><bits/stdc++.h></span></span><br><span class="hljs-keyword">using</span> <span class="hljs-keyword">namespace</span> std;<br><br><span class="hljs-function"><span class="hljs-type">int</span> <span class="hljs-title">main</span><span class="hljs-params">()</span> </span>{<br><br> <span class="hljs-type">int</span> n;<br> string s;<br> cin >> n;<br> <span class="hljs-keyword">while</span>(n--) {<br> cin >> s;<br> <span class="hljs-keyword">if</span>(s.<span class="hljs-built_in">size</span>() == <span class="hljs-number">3</span>) {<br> <span class="hljs-keyword">if</span>((s[<span class="hljs-number">0</span>] == <span class="hljs-string">'o'</span> && s[<span class="hljs-number">1</span>] == <span class="hljs-string">'n'</span>) || <br> (s[<span class="hljs-number">1</span>] == <span class="hljs-string">'n'</span> && s[<span class="hljs-number">2</span>] == <span class="hljs-string">'e'</span>) || <br> (s[<span class="hljs-number">2</span>] == <span class="hljs-string">'e'</span> && s[<span class="hljs-number">0</span>] == <span class="hljs-string">'o'</span>)) {<br> cout << <span class="hljs-string">"1\n"</span>;<br> } <span class="hljs-keyword">else</span> {<br> cout << <span class="hljs-string">"2\n"</span>;<br> }<br> } <span class="hljs-keyword">else</span> {<br> cout << <span class="hljs-string">"3\n"</span>;<br> }<br> }<br><br> <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;<br>}<br></code></pre></td></tr></table></figure>]]></content>
<categories>
<category>UVa</category>
</categories>
<tags>
<tag>UVa</tag>
</tags>
</entry>
<entry>
<title>C++ substr() 使用方式</title>
<link href="/2024/08/02/Cpp_Library/substr/"/>
<url>/2024/08/02/Cpp_Library/substr/</url>
<content type="html"><![CDATA[<p>本篇介紹 substr 取出子字串的方式,以及補充一般陣列如何取出子字串</p><h2 id="substr用法"><a href="#substr用法" class="headerlink" title="substr用法"></a>substr用法</h2><p>substr(參數a, 參數b)</p><blockquote><p>參數a 為要取出子字串的起始索引位置,若要取出 “3” 就輸入該索引位置為 2<br>參數b 從起始索引往後取幾個字串,若只取 “3” 則輸入 1,取 “34” 則輸入 2。</p></blockquote><figure class="highlight cpp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs cpp">string s = <span class="hljs-string">"123456789"</span>;<br>cout << s.<span class="hljs-built_in">substr</span>(<span class="hljs-number">2</span>, <span class="hljs-number">1</span>) << endl; <span class="hljs-comment">// output: 3</span><br>cout << s.<span class="hljs-built_in">substr</span>(<span class="hljs-number">2</span>, <span class="hljs-number">2</span>) << endl; <span class="hljs-comment">// output: 34</span><br></code></pre></td></tr></table></figure><h2 id="補充-陣列方式"><a href="#補充-陣列方式" class="headerlink" title="補充:陣列方式"></a>補充:陣列方式</h2><blockquote><p>s[i][2] : [i] 陣列裡的字串,[2] 指定索引值</p></blockquote><figure class="highlight cpp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs cpp">vector<string> s = {<span class="hljs-string">"123456789"</span>};<br><br><span class="hljs-keyword">for</span>(<span class="hljs-type">size_t</span> i = <span class="hljs-number">0</span>; i < s.<span class="hljs-built_in">size</span>(); i++){<br> cout << s[i][<span class="hljs-number">2</span>] << endl; <span class="hljs-comment">// output: 3</span><br> cout << s[i][<span class="hljs-number">2</span>] << s[i][<span class="hljs-number">3</span>] << endl; <span class="hljs-comment">// output: 34</span><br>}<br></code></pre></td></tr></table></figure>]]></content>
<categories>
<category>C++ Standard Library</category>
</categories>
<tags>
<tag>C++ Library</tag>
</tags>
</entry>
<entry>
<title>[Leetcode] 2678.Number of Senior Citizens</title>
<link href="/2024/08/01/Leetcode/Array/2678_Number_of_Senior_Citizens/"/>
<url>/2024/08/01/Leetcode/Array/2678_Number_of_Senior_Citizens/</url>
<content type="html"><![CDATA[<h2 id="題目"><a href="#題目" class="headerlink" title="題目"></a>題目</h2><p>You are given a 0-indexed array of strings <code>details</code>. Each element of <code>details</code> provides information about a given passenger compressed into a string of length <code>15</code>. The system is such that:</p><ul><li>The first ten characters consist of the phone number of passengers.</li><li>The next character denotes the gender of the person.</li><li>The following two characters are used to indicate the age of the person.</li><li>The last two characters determine the seat allotted to that person.</li></ul><p>Return the number of passengers who are strictly more than 60 years old.</p><blockquote><p><a href="https://leetcode.com/problems/number-of-senior-citizens/description/?envType=daily-question&envId=2024-08-01">2678.Number of Senior Citizens</a></p></blockquote><h2 id="範例"><a href="#範例" class="headerlink" title="範例"></a>範例</h2><p><strong>Example 1:</strong></p><blockquote><p><strong>Input:</strong> details = [“7868190130M7522”,”5303914400F9211”,”9273338290F4010”]<br><strong>Output:</strong> 2<br><strong>Explanation:</strong> The passengers at indices 0, 1, and 2 have ages 75, 92, and 40. Thus, there are 2 people who are over 60 years old.</p></blockquote><p><strong>Example 2:</strong></p><blockquote><p><strong>Input:</strong> details = [“1313579440F2036”,”2921522980M5644”]<br><strong>Output:</strong> 0<br><strong>Explanation:</strong> None of the passengers are older than 60.</p></blockquote><h2 id="解題思路"><a href="#解題思路" class="headerlink" title="解題思路"></a>解題思路</h2><p>陣列裡的每一個字串長度都為15,前10個字元為電話,第11個字元為性別(M、F、0),第12、13字元為年齡,最後2個為座位,可以確定都是固定長度。根據題目要求,只需要判斷年齡是否大於60,所以只要取出第12、13個字元做處理就好,抓取字串內的某幾個字元,可以使用C++內建函式substr或是一般陣列。參考 <a href="/2024/08/02/Cpp_Library/substr/">C++ substr() 使用方式</a></p><h2 id="題解"><a href="#題解" class="headerlink" title="題解"></a>題解</h2><ol><li>用 for 迴圈走訪陣列裡的字串</li><li>可以使用 substr 取出子字串或是使用陣列方式</li><li>將字串轉換為整數 int</li><li>判斷是否大於 60 ,並計數</li><li>回傳大於 60 總數量</li></ol><p><strong>方法一 :</strong></p><figure class="highlight cpp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs cpp"><span class="hljs-keyword">class</span> <span class="hljs-title class_">Solution</span> {<br><span class="hljs-keyword">public</span>:<br> <span class="hljs-function"><span class="hljs-type">int</span> <span class="hljs-title">countSeniors</span><span class="hljs-params">(vector<string>& details)</span> </span>{<br> <br> <span class="hljs-type">int</span> count = <span class="hljs-number">0</span>;<br> <span class="hljs-keyword">for</span>(<span class="hljs-type">const</span> string &s : details) {<br> string sub_str = s.<span class="hljs-built_in">substr</span>(<span class="hljs-number">11</span>, <span class="hljs-number">2</span>);<br> <span class="hljs-keyword">if</span>(<span class="hljs-built_in">stoi</span>(sub_str) > <span class="hljs-number">60</span>)<br> count++;<br> }<br> <span class="hljs-keyword">return</span> count;<br> }<br>};<br></code></pre></td></tr></table></figure><p><strong>方法二(不使用substr) :</strong></p><figure class="highlight cpp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs cpp"><span class="hljs-keyword">class</span> <span class="hljs-title class_">Solution</span> {<br><span class="hljs-keyword">public</span>:<br> <span class="hljs-function"><span class="hljs-type">int</span> <span class="hljs-title">countSeniors</span><span class="hljs-params">(vector<string>& details)</span> </span>{<br> <br> <span class="hljs-type">int</span> res = <span class="hljs-number">0</span>;<br> <span class="hljs-keyword">for</span>(<span class="hljs-type">int</span> i = <span class="hljs-number">0</span>; i < details.<span class="hljs-built_in">size</span>(); i++){<br> <span class="hljs-type">int</span> age = ((details[i][<span class="hljs-number">11</span>] - <span class="hljs-string">'0'</span>) * <span class="hljs-number">10</span> + details[i][<span class="hljs-number">12</span>] - <span class="hljs-string">'0'</span>);<br> res += (age > <span class="hljs-number">60</span>);<br> }<br> <span class="hljs-keyword">return</span> res;<br> }<br>};<br></code></pre></td></tr></table></figure>]]></content>
<categories>
<category>Leetcode</category>
<category>Array</category>
</categories>
<tags>
<tag>Array</tag>
<tag>String</tag>
</tags>
</entry>
<entry>
<title>mac自動開機和音效關閉</title>
<link href="/2024/08/01/macOS/Auto-open_and_Audio-turn-off/"/>
<url>/2024/08/01/macOS/Auto-open_and_Audio-turn-off/</url>
<content type="html"><![CDATA[<p>適用macbook pro 2016後的機型</p><p>打開終端機輸入下面命令</p><h2 id="自動開機"><a href="#自動開機" class="headerlink" title="自動開機"></a>自動開機</h2><ol><li><p>開啟</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">sudo nvram AutoBoot=%03<br></code></pre></td></tr></table></figure></li><li><p>關閉</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">sudo nvram AutoBoot=%00<br></code></pre></td></tr></table></figure></li></ol><h2 id="開機音效"><a href="#開機音效" class="headerlink" title="開機音效"></a>開機音效</h2><ol><li><p>開啟</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">sudo nvram BootAudio=%01<br></code></pre></td></tr></table></figure></li><li><p>關閉</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">sudo nvram BootAudio=%00<br></code></pre></td></tr></table></figure></li></ol><h2 id="注意"><a href="#注意" class="headerlink" title="注意"></a>注意</h2><p>指令輸入完後會需要輸入使用者密碼</p>]]></content>
<categories>
<category>mac相關設定</category>
</categories>
<tags>
<tag>macOS</tag>
</tags>
</entry>
<entry>
<title>Hello World</title>
<link href="/2024/08/01/hello-world/"/>
<url>/2024/08/01/hello-world/</url>
<content type="html"><![CDATA[<p>這裡為 Jay 的部落格的開端,將分享一些自己學習到的資訊技術。</p><h2 id="Hello-World"><a href="#Hello-World" class="headerlink" title="Hello World"></a>Hello World</h2><figure class="highlight c"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs c"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string"><stdio.h></span></span><br><br><span class="hljs-type">int</span> <span class="hljs-title function_">main</span><span class="hljs-params">()</span> {<br><br> <span class="hljs-built_in">printf</span>(<span class="hljs-string">"Hello World\n"</span>);<br><br> <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;<br>}<br></code></pre></td></tr></table></figure>]]></content>
</entry>
</search>