ปัญหาของข้อนี้คือ ให้เลขมา ตัวแล้วให้หาค่ามากสุดและค่าน้อยสุดโดยที่เริ่มแรกจะสร้างตัวแปร และ เพื่อเก็บค่าน้อยสุดและมากสุดตามลำดับ
เราวนลูปไล่เลขทุกตัว เมื่อเจอตัวเลข ๆ นึงก็ทำการ update ค่า และ ตามค่าที่เจอเพื่อให้ และ เป็นค่าน้อยสุดและมากสุดที่เจอตั้งแต่ตัวเลขตัวแรกจนถึงตัวล่าสุดที่ลูปมาคำนวน
วิธีการคือเมื่อเจอตัวเลข ที่น้อยกว่าค่าน้อยที่สุดที่เก็บไว้ () เราจะอัพเดทค่าน้อยสุดเป็น และถ้าเจอ ที่มากกว่าค่ามากสุดที่เก็บไว้ เราจะอัพเดทค่ามากสุดเป็น
เราสามารถเริ่มเซ็ตค่า และ เป็นตัวเลขแรกที่ได้รับ และวนลูปสำหรับตัวเลขที่เหลือ
จะได้ตามโค้ดตัวอย่างนี้
#include<bits/stdc++.h> using namespace std; int main(){ int n, first_number; cin >> n >> first_number; int min_value = first_number, max_value = first_number; for (int i = 2; i <= n; i++) { int x; cin >> x; if (x < min_value) min_value = x; // หรือ min_value = min(x, min_value) if (x > max_value) max_value = x; // หรือ max_value = max(x, max_value) } cout << m << endl << M << endl; return 0; }