สมมติว่าเรามีรายการตัวเลขชื่อ nums และจำนวนเต็ม k เราต้องตรวจสอบว่าสามารถลบองค์ประกอบหนึ่งตัวจากรายการเพื่อทำให้ค่าเฉลี่ยเท่ากับ k ได้หรือไม่ มีข้อจำกัดดังนี้:
2 ≤ n ≤ 1,000โดยnคือจำนวนองค์ประกอบของรายการnumsnums[i], k ≤ 1,000,000
ตัวอย่าง
หากอินพุตคือ [5,3,2,4,6,10], k = 4 ผลลัพธ์จะเป็น True เนื่องจากถ้าลบ 10 ค่าเฉลี่ยขององค์ประกอบจะเป็น (5+3+2+4+6)/5 = 4 เท่ากับ k
ขั้นตอนการแก้ปัญหา
s:= ผลรวมของทุกองค์ประกอบในnumst:=k * (ขนาดของ nums - 1)- สำหรับแต่ละ
iในnums:- ถ้า
s - i == tให้คืนค่าTrue
- ถ้า
- คืนค่า
False
การใช้งาน
class Solution:
def solve(self, nums, k):
s = sum(nums)
t = k * (len(nums) - 1)
for i in nums:
if s - i == t:
return True
return False
ob = Solution()
nums = [5, 3, 2, 4, 6, 10]
k = 4
print(ob.solve(nums, k))
อินพุต
[5,3,2,4,6,10], 4
เอาต์พุต
True