File tree Expand file tree Collapse file tree 1 file changed +28
-1
lines changed
Expand file tree Collapse file tree 1 file changed +28
-1
lines changed Original file line number Diff line number Diff line change 1- ปัญหาของข้อนี้คือ ให้เลขมา $n$ ตัวแล้วให้หาค่ามากสุดและค่าน้อบสุดโดยที่เริ่มแรกจะสร้างตัวแปร $min_ {value}$ และ $max_ {value}$ โดยที่ $min_ {value} = 2\cdot10^9 + 1$ และ $max_ {value} = -2\cdot10^9 - 1$ เพราะว่าเป็นค่าที่มากสุดและค่าน้อยสุดของข้อมูลทั้งหมด หลังจากนั้นวน loop ไล่ทุกตัว track $min_ {value}$ และ $max_ {value}$
1+ ปัญหาของข้อนี้คือ ให้เลขมา $n$ ตัวแล้วให้หาค่ามากสุดและค่าน้อยสุดโดยที่เริ่มแรกจะสร้างตัวแปร $\text{min}_ {\text{value}}$ และ $\text{max}_ {\text{value}}$ เพื่อเก็บค่าน้อยสุดและมากสุดตามลำดับ
2+
3+ เราวนลูปไล่เลขทุกตัว เมื่อเจอตัวเลข ๆ นึงก็ทำการ update ค่า $\text{min}_ {\text{value}}$ และ $\text{max}_ {\text{value}}$ ตามค่าที่เจอเพื่อให้ $\text{min}_ {\text{value}}$ และ $\text{max}_ {\text{value}}$ เป็นค่าน้อยสุดและมากสุดที่เจอตั้งแต่ตัวเลขตัวแรกจนถึงตัวล่าสุดที่ลูปมาคำนวน
4+
5+ วิธีการคือเมื่อเจอตัวเลข $x$ ที่น้อยกว่าค่าน้อยที่สุดที่เก็บไว้ ($\text{min}_ {\text{value}}$) เราจะอัพเดทค่าน้อยสุดเป็น $x$ และถ้าเจอ $x$ ที่มากกว่าค่ามากสุดที่เก็บไว้ เราจะอัพเดทค่ามากสุดเป็น $x$
6+
7+ เราสามารถเริ่มเซ็ตค่า $\text{min}_ {\text{value}}$ และ $\text{max}_ {\text{value}}$ เป็นตัวเลขแรกที่ได้รับ และวนลูปสำหรับตัวเลขที่เหลือ
8+
9+ จะได้ตามโค้ดตัวอย่างนี้
10+
11+ ``` cpp
12+ #include < bits/stdc++.h>
13+ using namespace std ;
14+ int main (){
15+ int n, first_number;
16+ cin >> n >> first_number;
17+ int min_value = first_number, max_value = first_number;
18+
19+ for (int i = 2; i <= n; i++) {
20+ int x; cin >> x;
21+ if (x < min_value) min_value = x; // หรือ min_value = min(x, min_value)
22+ if (x > max_value) max_value = x; // หรือ max_value = max(x, max_value)
23+ }
24+ cout << m << endl << M << endl;
25+ return 0;
26+ }
27+ ```
28+
You can’t perform that action at this time.
0 commit comments