ง่าย 0 ข้อที่แก้แล้ว อัตราผ่าน 0%

Absolute Value Without abs

Compute an absolute value with a condition.

สิ่งที่คุณจะได้เรียนรู้

  • กลับเครื่องหมายของเลขลบ
  • เขียนฟังก์ชันโดยไม่ใช้ฟังก์ชันในตัว
  • จัดการศูนย์ให้ถูกต้อง

โจทย์

The absolute value of a number is its distance from zero. Compute it with an if statement instead of a built-in abs function.

Implement absolute_value(n).

Input

n: Any integer.

Output

Return n if it is zero or positive, otherwise -n.

เงื่อนไข

-1,000,000,000 ≤ n ≤ 1,000,000,000

ตัวอย่าง

ตัวอย่างที่ 1
อินพุต:
n = -42

ผลลัพธ์ที่คาดหวัง:
expected = 42
อินพุต:
long long n = -42;

ผลลัพธ์ที่คาดหวัง:
long long expected = 42;
อินพุต:
long n = -42;

ผลลัพธ์ที่คาดหวัง:
long expected = 42;

คำอธิบาย

-42 is negative, so the answer is 42.

ตัวอย่างที่ 2
อินพุต:
n = 15

ผลลัพธ์ที่คาดหวัง:
expected = 15
อินพุต:
long long n = 15;

ผลลัพธ์ที่คาดหวัง:
long long expected = 15;
อินพุต:
long n = 15;

ผลลัพธ์ที่คาดหวัง:
long expected = 15;

คำอธิบาย

15 is already positive, so it stays 15.

แนวทางการแก้

ลองทำเองก่อน แล้วค่อยเปิดคำใบ้ทีละข้อ

คำใบ้ 1

ค่าจะไม่เปลี่ยนถ้ามันไม่ติดลบอยู่แล้ว

คำใบ้ 2

มีแค่ค่าติดลบที่ต้องกลับเครื่องหมาย

คำใบ้ 3

ศูนย์ควรยังเป็นศูนย์ จัดให้อยู่กรณีไม่ติดลบ

ความซับซ้อนที่คาดหวัง

เวลา O(1), หน่วยความจำเพิ่ม O(1)

แหล่งอ้างอิง

โจทย์นี้ปรับให้เหมาะกับ CodeUtility กรุณาทำตามคำชี้แจงและข้อจำกัดด้านบน

เรียนรู้จากคนอื่น

แนวทางจากชุมชน

ยังไม่มีวิธีทำที่เผยแพร่ ลองแก้โจทย์นี้เพื่อแชร์วิธีแรก