จำนวนเต็มที่หารด้วยผลรวมของตัวเลขในหลักของมันได้ลงตัวเรียกว่าจำนวนฮาร์ชาด คุณจะได้รับจำนวนเต็ม x ส่งคืนผลรวมของหลักของ x หาก x เป็นจำนวนฮาร์ชาด มิฉะนั้น ให้ส่งคืน -1

ตัวอย่างที่ 1:

อินพุต: x = 18
เอาต์พุต: 9
คำอธิบาย:
ผลรวมของหลักของ x คือ 9 โดยที่ 18 หารด้วย 9 ลงตัว ดังนั้น 18 จึงเป็นจำนวนฮาร์ชาด และคำตอบคือ 9

ตัวอย่างที่ 2:

อินพุต: x = 23
เอาต์พุต: -1
คำอธิบาย:
ผลรวมของหลักของ x คือ 5 โดยที่ 23 หารด้วย 5 ไม่ลงตัว ดังนั้น 23 จึงไม่ใช่จำนวนฮาร์ชาด และคำตอบคือ -1

ข้อจำกัด:

1 <= x <= 100

จำนวนเต็มที่หารด้วยผลรวมของตัวเลขในตัวเองได้ เรียกว่า Harshad number คุณได้รับจำนวนเต็ม x ให้คืนค่าผลรวมของตัวเลขใน x ถ้า x เป็น Harshad number มิฉะนั้น ให้คืนค่า -1

ตัวอย่างที่ 1:

Input: x = 18
Output: 9
คำอธิบาย:
ผลรวมของตัวเลขใน x คือ 9 และ 18 หารด้วย 9 ลงตัว ดังนั้น 18 เป็น Harshad number และคำตอบคือ 9

ตัวอย่างที่ 2:

Input: x = 23
Output: -1
คำอธิบาย:
ผลรวมของตัวเลขใน x คือ 5 และ 23 หารด้วย 5 ไม่ลงตัว ดังนั้น 23 ไม่ใช่ Harshad number และคำตอบคือ -1

ข้อจำกัด:

1 <= x <= 100

จำนวนเต็มหารด้วยผลรวมของตัวเลขของมันถูกกล่าวว่าเป็นหมายเลข Harshad คุณได้รับจำนวนเต็ม x ส่งคืนผลรวมของตัวเลขของ x ถ้า x เป็นหมายเลข Harshad มิฉะนั้นกลับ -1

ตัวอย่างที่ 1:

อินพุต: x = 18
เอาท์พุท: 9
คำอธิบาย:
ผลรวมของตัวเลขของ x คือ 9. 18 สามารถหารได้ 9. ดังนั้น 18 คือหมายเลข Harshad และคำตอบคือ 9

ตัวอย่างที่ 2:

อินพุต: x = 23
เอาท์พุท: -1
คำอธิบาย:
ผลรวมของตัวเลขของ x คือ 5. 23 ไม่สามารถหารด้วย 5 ดังนั้น 23 ไม่ใช่หมายเลข Harshad และคำตอบคือ -1

ข้อ จำกัด :

1 <= x <= 100


คุณได้รับอาร์เรย์แบบไบนารี nums
เราจะเรียกซับอาร์เรย์ว่าเป็นแบบสลับถ้าสององค์ประกอบที่อยู่ติดกันในซับอาร์เรย์ไม่มีค่าเดียวกัน
ให้คืนค่าจำนวนซับอาร์เรย์แบบสลับใน nums

ตัวอย่างที่ 1:

Input: nums = [0,1,1,1]
Output: 5
คำอธิบาย:
อาร์เรย์ย่อยต่อไปนี้เป็นแบบสลับ: [0], [1], [1], [1], และ [0,1].

ตัวอย่างที่ 2:

Input: nums = [1,0,1,0]
Output: 10
คำอธิบาย:
ทุกซับอาเรย์ของอาเรย์นั้นเป็นแบบสลับกัน มีซับอาเรย์ที่เราสามารถเลือกได้ทั้งหมด 10 ตัวเลือก

ข้อจำกัด:

1 <= nums.length <= 10^5
nums[i] เป็น 0 หรือ 1 เท่านั้น

คุณจะได้รับอาร์เรย์ไบนารี nums
เราจะเรียกอาร์เรย์ย่อยแบบสลับกันถ้าองค์ประกอบที่อยู่ติดกันสององค์ประกอบในอาร์เรย์ย่อยไม่มีค่าเดียวกัน
ส่งกลับจำนวนอาร์เรย์ย่อยแบบสลับกันเป็น nums

ตัวอย่างที่ 1:

อินพุต: nums = [0,1,1,1]
เอาต์พุต: 5
คำอธิบาย:
อาร์เรย์ย่อยต่อไปนี้สลับกัน: [0], [1], [1], [1] และ [0,1]

ตัวอย่างที่ 2:

อินพุต: nums = [1,0,1,0]
เอาต์พุต: 10
คำอธิบาย:
อาร์เรย์ย่อยทุกตัวในอาร์เรย์จะสลับกัน มีอาร์เรย์ย่อย 10 ตัวที่เราสามารถเลือกได้

ข้อจำกัด:

1 <= nums.length <= 10^5
nums[i] จะเป็น 0 หรือ 1

คุณได้รับอาเรย์เลขฐานสอง nums
เราเรียกว่า subarray สลับกันหากไม่มีองค์ประกอบที่อยู่ติดกันสองตัวใน subarray มีค่าเท่ากัน
ส่งคืนจำนวน subarrays สลับใน nums.

ตัวอย่างที่ 1:

อินพุต: nums = [0,1,1,1]
เอาท์พุท: 5
คำอธิบาย:
subarrays ต่อไปนี้สลับกัน: [0], [1], [1], [1] และ [0,1]

ตัวอย่างที่ 2:

อินพุต: nums = [1,0,1,0]
เอาท์พุท: 10
คำอธิบาย:
ทุก subarray ของอาร์เรย์สลับกัน มี 10 subarrays ที่เป็นไปได้ที่เราสามารถเลือกได้

ข้อ จำกัด :

1 <= nums.length <= 10^5
nums [i] เป็น 0 หรือ 1


คุณได้รับอาร์เรย์ points ซึ่งแสดงถึงพิกัดจำนวนเต็มของจุดบางจุดบนระนาบ 2 มิติ โดยที่ points[i] = [x_i, y_i]
ระยะห่างระหว่างสองจุดถูกกำหนดเป็นระยะห่าง Manhattan
ให้ส่งค่าที่น้อยที่สุดเท่าที่เป็นไปได้สำหรับระยะห่างสูงสุดระหว่างจุดใด ๆ สองจุด โดยการลบออกไปหนึ่งจุด

ตัวอย่างที่ 1:

Input: points = [[3,10],[5,15],[10,2],[4,4]]
Output: 12
คำอธิบาย:
ระยะห่างสูงสุดหลังจากลบแต่ละจุดคือ:

หลังจากลบจุดที่ 0 ระยะห่างสูงสุดคือระหว่างจุด (5, 15) และ (10, 2) ซึ่งคือ |5 - 10| + |15 - 2| = 18
หลังจากลบจุดที่ 1 ระยะห่างสูงสุดคือระหว่างจุด (3, 10) และ (10, 2) ซึ่งคือ |3 - 10| + |10 - 2| = 15
หลังจากลบจุดที่ 2 ระยะห่างสูงสุดคือระหว่างจุด (5, 15) และ (4, 4) ซึ่งคือ |5 - 4| + |15 - 4| = 12
หลังจากลบจุดที่ 3 ระยะห่างสูงสุดคือระหว่างจุด (5, 15) และ (10, 2) ซึ่งคือ |5 - 10| + |15 - 2| = 18

12 เป็นระยะห่างสูงสุดที่น้อยที่สุดที่เป็นไปได้ระหว่างจุดใดสองจุดหลังจากลบออกไปหนึ่งจุด

ตัวอย่างที่ 2:

Input: points = [[1,1],[1,1],[1,1]]
Output: 0
คำอธิบาย:
การลบออกไปจุดใด ๆ จะทำให้ระยะห่างสูงสุดระหว่างจุดใดสองจุดที่เหลือเป็น 0

ข้อจำกัด:

3 <= points.length <= 10^5
points[i].length == 2
1 <= points[i][0], points[i][1] <= 10^8

คุณจะได้รับคะแนนอาร์เรย์ที่แสดงพิกัดจำนวนเต็มของบางคะแนนบนระนาบ 2D โดยที่คะแนน [i] = [x_i, y_i]
ระยะห่างระหว่างสองคะแนนหมายถึงระยะทางแมนฮัตตัน
ส่งคืนค่าต่ำสุดที่เป็นไปได้สำหรับระยะทางสูงสุดระหว่างสองคะแนนใด ๆ โดยการลบคะแนนเดียว

ตัวอย่างที่ 1:

อินพุต: points = [[3,10],[5,15],[10,2],[4,4]]
เอาท์พุท: 12
คำอธิบาย:
ระยะทางสูงสุดหลังจากลบแต่ละคะแนนต่อไปนี้:

หลังจากลบคะแนน 0^th ระยะทางสูงสุดอยู่ระหว่างคะแนน (5, 15) และ (10, 2) ซึ่งก็คือ | 5 - 10 | + | 15 - 2 | = 18.
หลังจากลบคะแนน 1^st ระยะทางสูงสุดอยู่ระหว่างคะแนน (3, 10) และ (10, 2) ซึ่งก็คือ | 3 - 10 | + | 10 - 2 | = 15.
หลังจากลบคะแนน 2^nd ระยะทางสูงสุดอยู่ระหว่างคะแนน (5, 15) และ (4, 4) ซึ่งก็คือ | 5 - 4 | + | 15 - 4 | = 12.
หลังจากลบคะแนน 3^rd ระยะทางสูงสุดอยู่ระหว่างคะแนน (5, 15) และ (10, 2) ซึ่งก็คือ | 5 - 10 | + | 15 - 2 | = 18.

12 คือระยะทางสูงสุดที่เป็นไปได้ขั้นต่ำระหว่างสองคะแนนใด ๆ หลังจากลบคะแนนเดียว

ตัวอย่างที่ 2:

อินพุต: points = [[1,1],[1,1],[1,1]]
เอาท์พุท: 0
คำอธิบาย:
การลบคะแนนใด ๆ ส่งผลให้ระยะห่างสูงสุดระหว่างสองคะแนนใด ๆ ของ 0

ข้อ จำกัด :

3 <= points.length <= 10^5
points[i].length == 2
1 <= points[i][0], points[i][1] <= 10^8

คุณจะได้รับจุดอาร์เรย์ที่แสดงพิกัดจำนวนเต็มของบางจุดบนระนาบ 2D โดยที่จุด [i] = [x_i, y_i]
ระยะห่างระหว่างสองจุดหมายถึงManhattan distance.
ส่งคืนค่าต่ำสุดที่เป็นไปได้สำหรับระยะทางสูงสุดระหว่างสองจุดใด ๆ โดยการลบจุดเดียว

ตัวอย่างที่ 1:

อินพุต: points = [[3,10], [5,15], [10,2], [4,4]]
เอาท์พุท: 12
คำอธิบาย:
ระยะทางสูงสุดหลังจากลบแต่ละจุดต่อไปนี้:

หลังจากลบจุด จุดที่ 0 ระยะทางสูงสุดอยู่ระหว่างจุด (5, 15) และ (10, 2) คือ | 5 - 10 | + | 15 - 2 | = 18.
หลังจากลบจุด จุดที่ 1 ระยะทางสูงสุดอยู่ระหว่างจุด (3, 10) และ (10, 2) คือ | 3 - 10 | + | 10 - 2 | = 15.
หลังจากลบจุด จุดที่ 2 ระยะทางสูงสุดอยู่ระหว่างจุด (5, 15) และ (4, 4) คือ | 5 - 4 | + | 15 - 4 | = 12.
หลังจากลบจุด จุดที่ 3 ระยะทางสูงสุดอยู่ระหว่างจุด (5, 15) และ (10, 2) คือ | 5 - 10 | + | 15 - 2 | = 18.

12 คือระยะทางสูงสุดที่เป็นไปได้ขั้นต่ำระหว่างสองจุดใด ๆ หลังจากลบจุดเดียว

ตัวอย่างที่ 2:

อินพุต:points = [[1,1],[1,1],[1,1]]
เอาท์พุท: 0
คำอธิบาย:
การลบจุดใด ๆ ส่งผลให้ระยะห่างสูงสุดระหว่างสองจุดใด ๆ ของ 0

ข้อ จำกัด :

3 <= points.length <= 10^5
points[i].length == 2
1 <= points[i][0], points[i][1] <= 10^8


คุณจะได้รับอาร์เรย์ของจำนวนเต็ม nums ส่งคืนความยาวของซับอาร์เรย์ที่ยาวที่สุดของ nums ซึ่งเพิ่มขึ้นอย่างเคร่งครัดหรือลดลงอย่างเคร่งครัด

ตัวอย่างที่ 1:

อินพุต: nums = [1,4,3,3,2]
เอาต์พุต: 2
คำอธิบาย:
ซับอาร์เรย์ที่เพิ่มขึ้นอย่างเคร่งครัดของ nums คือ [1], [2], [3], [3], [4] และ [1,4]
ซับอาร์เรย์ที่ลดลงอย่างเคร่งครัดของ nums คือ [1], [2], [3], [3], [4], [3,2] และ [4,3]
ดังนั้น เราจะส่งคืน 2

ตัวอย่างที่ 2:

อินพุต: nums = [3,3,3,3]
เอาต์พุต: 1
คำอธิบาย:
ซับอาร์เรย์ที่เพิ่มขึ้นอย่างเคร่งครัดของ nums คือ [3], [3], [3] และ [3] อาร์เรย์ย่อยที่ลดลงอย่างเคร่งครัดของ nums คือ [3], [3], [3] และ [3]
ดังนั้น เราจึงส่งคืน 1

ตัวอย่างที่ 3:

อินพุต: nums = [3,2,1]
เอาต์พุต: 3
คำอธิบาย:
อาร์เรย์ย่อยที่เพิ่มขึ้นอย่างเคร่งครัดของ nums คือ [3], [2] และ [1]
อาร์เรย์ย่อยที่ลดลงอย่างเคร่งครัดของ nums คือ [3], [2], [1], [3,2], [2,1] และ [3,2,1]
ดังนั้น เราจึงส่งคืน 3

ข้อจำกัด:

1 <= nums.length <= 50
1 <= nums[i] <= 50

คุณจะได้รับอาร์เรย์ของจำนวนเต็ม numsส่งคืนความยาวของ subarray ที่ยาวที่สุดของ nums ซึ่งเพิ่มขึ้นอย่างเคร่งครัดหรือลดลงอย่างเคร่งครัด

ตัวอย่างที่ 1:

อินพุต: nums= [1,4,3,3,2]
เอาท์พุท: 2
คำอธิบาย:
subarrays ที่เพิ่มขึ้นอย่างเคร่งครัดของ nums คือ [1], [2], [3], [3], [4] และ [1,4]
subarrays ที่ลดลงอย่างเคร่งครัดของ nums คือ [1], [2], [3], [3], [4], [3,2] และ [4,3]
ดังนั้นเรากลับ 2.

ตัวอย่างที่ 2:

อินพุต: nums = [3,3,3,3]
เอาท์พุท: 1
คำอธิบาย:
subarrays ที่เพิ่มขึ้นอย่างเคร่งครัดของ nums คือ [3], [3], [3] และ [3]
subarrays ที่ลดลงอย่างเคร่งครัดของ nums คือ [3], [3], [3] และ [3]
ดังนั้นเรากลับ 1.

ตัวอย่างที่ 3:

อินพุต: nums = [3,2,1]
เอาท์พุท: 3
คำอธิบาย:
subarrays ที่เพิ่มขึ้นอย่างเคร่งครัดของ nums คือ [3], [2] และ [1]
subarrays ที่ลดลงอย่างเคร่งครัดของ nums คือ [3], [2], [1], [3,2], [2,1] และ [3,2,1]
ดังนั้นเรากลับ 3.

ข้อ จำกัด :

1 <= nums.length <= 50
1 <= nums [i] <= 50


กำหนดให้ s เป็นสตริง และ k เป็นจำนวนเต็ม
นิยามฟังก์ชัน distance(s_1, s_2) ระหว่างสองสตริง s_1 และ s_2 ที่มีความยาวเท่ากัน n ดังนี้:

ผลรวมของระยะทางต่ำสุดระหว่าง s_1[i] และ s_2[i] เมื่อพิจารณาตัวอักษรจาก 'a' ถึง 'z' เป็นวงกลม สำหรับทุก i ในช่วง [0,n−1]

ตัวอย่างเช่น distance("ab", "cd") == 4 และ distance("a", "z") == 1

คุณสามารถเปลี่ยนอักษรใด ๆ ใน s เป็นอักษรภาษาอังกฤษตัวเล็กอื่น ๆ ได้ไม่จำกัดจำนวนครั้ง
จงคืนค่าสตริง t ที่เป็นไปได้เล็กที่สุดตามลำดับพจนานุกรม หลังจากการเปลี่ยนแปลงบางอย่าง ซึ่งทำให้ distance(s, t) <= k

ตัวอย่างที่ 1:

Input: s = "zbbz", k = 3
Output: "aaaz"
คำอธิบาย:
เปลี่ยน s เป็น "aaaz" ระยะห่างระหว่าง "zbbz" และ "aaaz" เท่ากับ k = 3

ตัวอย่างที่ 2:

Input: s = "xaxcd", k = 4
Output: "aawcd"
คำอธิบาย:
ระยะทางระหว่าง "xaxcd" และ "aawcd" เท่ากับ k = 4

ตัวอย่างที่ 3:

Input: s = "lol", k = 0
Output: "lol"
คำอธิบาย:
ไม่สามารถเปลี่ยนตัวอักษรใด ๆ ได้เนื่องจาก k = 0.

ข้อกำหนด:

1 <= s.length <= 100
0 <= k <= 2000
s ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น

คุณได้รับสตริง s และจำนวนเต็ม k
กำหนดฟังก์ชัน distance(s_1, s_2) ระหว่างสตริงสองตัว s_1 และ s_2 ที่มีความยาวเท่ากัน n ดังนี้:

ผลรวมของระยะทางน้อยที่สุดระหว่าง s_1[i] และ s_2[i] เมื่ออักขระจาก 'a' ถึง 'z' ถูกจัดเรียงในลำดับวงกลม สำหรับ i ทั้งหมดในช่วง [0, n - 1]

ตัวอย่างเช่น distance("ab", "cd") == 4 และ distance("a", "z") == 1
คุณสามารถเปลี่ยนตัวอักษรใด ๆ ของ s เป็นตัวอักษรภาษาอังกฤษตัวเล็กอื่น ๆ ได้ตามจำนวนครั้งที่ต้องการ
คืนค่าสตริงที่แสดงถึงสตริงที่เล็กที่สุดตามลำดับพจนานุกรมที่คุณสามารถรับได้หลังจากเปลี่ยนแปลงบางส่วน โดยที่ distance(s, t) <= k

ตัวอย่างที่ 1:

Input: s = "zbbz", k = 3
Output: "aaaz"
คำอธิบาย:
เปลี่ยน s เป็น "aaaz" ระยะทางระหว่าง "zbbz" และ "aaaz" เท่ากับ k = 3

ตัวอย่างที่ 2:

Input: s = "xaxcd", k = 4
Output: "aawcd"
คำอธิบาย:
ระยะทางระหว่าง "xaxcd" และ "aawcd" เท่ากับ k = 4

ตัวอย่างที่ 3:

Input: s = "lol", k = 0
Output: "lol"
คำอธิบาย:
มันเป็นไปไม่ได้ที่จะแปลงอักขระใด ๆ เมื่อ k = 0

ข้อกำหนด:

1 <= length of S <= 100
0 <= k <= 2000
s ประกอบด้วยอักขระภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น

คุณจะได้รับสตริง s และจำนวนเต็ม k
กำหนดฟังก์ชัน distance(s_1, s_2) ระหว่างสตริง s_1 และ s_2 ที่มีความยาวเท่ากัน n ดังนี้:

ผลรวมของระยะทางขั้นต่ำระหว่าง s_1[i] และ s_2[i] เมื่อวางอักขระตั้งแต่ 'a' ถึง 'z' ในลำดับแบบวนซ้ำ สำหรับ i ทั้งหมดที่อยู่ในช่วง [0, n - 1]

ตัวอย่างเช่น distance("ab", "cd") == 4 และ distance("a", "z") == 1
คุณสามารถเปลี่ยนตัวอักษร s เป็นตัวพิมพ์เล็กภาษาอังกฤษตัวใดก็ได้ จำนวนครั้งใดก็ได้
ส่งคืนสตริงที่แสดงถึงสตริง t ที่เล็กที่สุดในพจนานุกรมซึ่งคุณจะได้หลังจากการเปลี่ยนแปลงบางอย่าง โดยที่ distance(s, t) <= k

ตัวอย่างที่ 1:

อินพุต: s = "zbbz", k = 3
เอาต์พุต: "aaaz"
คำอธิบาย:
เปลี่ยน s เป็น "aaaz" ระยะห่างระหว่าง "zbbz" และ "aaaz" เท่ากับ k = 3

ตัวอย่างที่ 2:

อินพุต: s = "xaxcd", k = 4
เอาต์พุต: "aawcd"
คำอธิบาย:
ระยะห่างระหว่าง "xaxcd" และ "aawcd" เท่ากับ k = 4

ตัวอย่างที่ 3:

อินพุต: s = "lol", k = 0
เอาต์พุต: "lol"
คำอธิบาย:
ไม่สามารถเปลี่ยนอักขระใดๆ ได้เมื่อ k = 0

ข้อจำกัด:

1 <= s.length <= 100
0 <= k <= 2000
s ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น


คุณได้รับอาร์เรย์จำนวนเต็ม nums และจำนวนเต็มไม่เป็นลบ k ในการดำเนินการหนึ่งครั้ง คุณสามารถเพิ่มหรือลดค่าใด ๆ ในอาร์เรย์ได้ 1 หน่วย
ให้คืนค่าจำนวนการดำเนินการขั้นต่ำที่จำเป็นเพื่อทำให้ค่ามัธยฐานของ nums เท่ากับ k
ค่ามัธยฐานของอาร์เรย์ถูกกำหนดว่าเป็นสมาชิกกลางของอาร์เรย์เมื่อเรียงลำดับในลำดับที่ไม่ลดลง หากมีตัวเลือกสองตัวสำหรับค่ามัธยฐาน จะเลือกค่าที่มากกว่าของสองค่า

ตัวอย่างที่ 1:

Input: nums = [2,5,6,8,5], k = 4
Output: 2
คำอธิบาย:
เราสามารถลบหนึ่งจาก nums[1] และ nums[4] เพื่อให้ได้ [2, 4, 6, 8, 4] ค่ามัธยฐานของอาร์เรย์ที่ได้จะเท่ากับ k.

ตัวอย่างที่ 2:

Input: nums = [2,5,6,8,5], k = 7
Output: 3
คำอธิบาย:
เราสามารถเพิ่มหนึ่งให้กับ nums[1] สองครั้งและเพิ่มหนึ่งให้กับ nums[2] หนึ่งครั้งเพื่อให้ได้ [2, 7, 7, 8, 5]

ตัวอย่างที่ 3:

Input: nums = [1,2,3,4,5,6], k = 4
Output: 0
คำอธิบาย:
ค่ามัธยฐานของอาร์เรย์นั้นเท่ากับ k แล้ว

ข้อจำกัด:

1 <= nums.length <= 2 * 10^5
1 <= nums[i] <= 10^9
1 <= k <= 10^9

คุณจะได้รับอาร์เรย์จำนวนเต็มและจำนวนเต็มที่ไม่เป็นลบ k ในการดำเนินการครั้งเดียวคุณสามารถเพิ่มหรือลดองค์ประกอบใด ๆ ได้ 1
ส่งคืนจำนวนขั้นต่ำของการดำเนินการที่จำเป็นในการทำให้ค่ามัธยฐานของ nums เท่ากับ k
ค่ามัธยฐานของอาร์เรย์ถูกกำหนดให้เป็นองค์ประกอบกลางของอาร์เรย์เมื่อจัดเรียงตามลำดับที่ไม่ได้ลดลง หากมีสองตัวเลือกสำหรับค่ามัธยฐานจะมีค่าที่ใหญ่กว่าของค่าทั้งสอง

ตัวอย่างที่ 1:

อินพุต: nums = [2,5,6,8,5], k = 4
เอาท์พุท: 2
คำอธิบาย:
เราสามารถลบหนึ่งจาก nums [1] และ nums [4] เพื่อรับ [2, 4, 6, 8, 4] ค่ามัธยฐานของอาร์เรย์ที่เกิดขึ้นเท่ากับ k

ตัวอย่างที่ 2:

อินพุต: nums = [2,5,6,8,5], k = 7
เอาท์พุท: 3
คำอธิบาย:
เราสามารถเพิ่มหนึ่งถึง nums [1] สองครั้งและเพิ่มหนึ่งใน nums [2] หนึ่งครั้งเพื่อให้ได้ [2, 7, 7, 8, 5]

ตัวอย่างที่ 3:

อินพุต: nums = [1,2,3,4,5,6], k = 4
เอาท์พุท: 0
คำอธิบาย:
ค่ามัธยฐานของอาร์เรย์เท่ากับ k แล้ว

ข้อ จำกัด :

1 <= nums.length <= 2 * 10^5
1 <= nums [i] <= 10^9
1 <= k <= 10^9

คุณจะได้รับอาร์เรย์จำนวนเต็ม nums และจำนวนเต็มที่ไม่เป็นลบ k ในการดำเนินการครั้งหนึ่ง คุณสามารถเพิ่มหรือลดองค์ประกอบใดๆ ลงได้ 1
ส่งคืนจำนวนการดำเนินการขั้นต่ำที่จำเป็นเพื่อให้ค่ามัธยฐานของ nums เท่ากับ k
ค่ามัธยฐานของอาร์เรย์ถูกกำหนดให้เป็นองค์ประกอบตรงกลางของอาร์เรย์เมื่อเรียงลำดับแบบไม่ลดลง หากมีตัวเลือกค่ามัธยฐานสองตัวเลือก ค่าที่มากกว่าจะถูกเลือก

ตัวอย่างที่ 1:

อินพุต: nums = [2,5,6,8,5], k = 4
เอาต์พุต: 2
คำอธิบาย:
เราสามารถลบหนึ่งจาก nums[1] และ nums[4] เพื่อให้ได้ [2, 4, 6, 8, 4] ค่ามัธยฐานของอาร์เรย์ที่ได้จะเท่ากับ k

ตัวอย่างที่ 2:

อินพุต: nums = [2,5,6,8,5], k = 7
เอาต์พุต: 3
คำอธิบาย:
เราสามารถบวกหนึ่งลงใน nums[1] สองครั้งและบวกหนึ่งลงใน nums[2] หนึ่งครั้งเพื่อให้ได้ [2, 7, 7, 8, 5]

ตัวอย่างที่ 3:

อินพุต: nums = [1,2,3,4,5,6], k = 4
เอาต์พุต: 0
คำอธิบาย:
ค่ามัธยฐานของอาร์เรย์เท่ากับ k อยู่แล้ว

ข้อจำกัด:

1 <= nums.length <= 2 * 10^5
1 <= nums[i] <= 10^9
1 <= k <= 10^9


คุณจะได้รับสตริง s ซึ่งแสดงเวลาในรูปแบบ 12 ชั่วโมง โดยที่ตัวเลขบางตัว (อาจไม่มีเลย) จะถูกแทนที่ด้วย "?"
เวลาในรูปแบบ 12 ชั่วโมงจะจัดรูปแบบเป็น "HH:MM" โดยที่ HH อยู่ระหว่าง 00 ถึง 11 และ MM อยู่ระหว่าง 00 ถึง 59 เวลา 12 ชั่วโมงแรกสุดคือ 00:00 น. และช้าสุดคือ 11:59 น.
คุณต้องแทนที่อักขระ "?" ทั้งหมดใน s ด้วยตัวเลข เพื่อให้เวลาที่เราได้รับจากสตริงที่ได้นั้นเป็นเวลาในรูปแบบ 12 ชั่วโมงที่ถูกต้องและเป็นล่าสุดที่เป็นไปได้
ส่งคืนสตริงที่ได้

ตัวอย่างที่ 1:

อินพุต: s = "1?:?4"
เอาต์พุต: "11:54"
คำอธิบาย: เวลาในรูปแบบ 12 ชั่วโมงล่าสุดที่เราสามารถทำได้โดยการแทนที่อักขระ "?" คือ "11:54"

ตัวอย่างที่ 2:

อินพุต: s = "0?:5?"
 ผลลัพธ์: "09:59"
คำอธิบาย: เวลาในรูปแบบ 12 ชั่วโมงล่าสุดที่เราสามารถทำได้โดยการแทนที่อักขระ "?" คือ "09:59"

ข้อจำกัด:

s.length == 5
s[2] เท่ากับอักขระ ":"
อักขระทั้งหมด ยกเว้น s[2] เป็นตัวเลขหรืออักขระ "?"
อินพุตจะสร้างขึ้นเพื่อให้มีเวลาอย่างน้อยหนึ่งครั้งระหว่าง "00:00" และ "11:59" ที่คุณสามารถรับได้หลังจากแทนที่อักขระ "?"

คุณได้รับสตริง s ที่แสดงถึงเวลาในรูปแบบ 12 ชั่วโมง ซึ่งบางตัวเลข (อาจไม่มี) ถูกแทนที่ด้วยเครื่องหมาย "?"
เวลาในรูปแบบ 12 ชั่วโมงจะถูกจัดรูปแบบเป็น "HH:MM" โดยที่ HH อยู่ระหว่าง 00 ถึง 11 และ MM อยู่ระหว่าง 00 ถึง 59 เวลา 12 ชั่วโมงที่เร็วที่สุดคือ 00:00 และเวลาที่ช้าที่สุดคือ 11:59
คุณต้องแทนที่ตัวอักษร "?" ทั้งหมดใน s ด้วยตัวเลขเพื่อให้เวลาที่ได้จากสตริงที่เกิดขึ้นเป็นเวลาในรูปแบบ 12 ชั่วโมงที่ถูกต้องและเป็นเวลาที่ช้าที่สุดที่เป็นไปได้
ส่งคืนสตริงที่ได้.

ตัวอย่างที่ 1:

Input: s = "1?:?4"
Output: "11:54"
คำอธิบาย: เวลาที่เราสามารถทำได้ในรูปแบบ 12 ชั่วโมงล่าสุดโดยการแทนที่ตัวอักษร "?" คือ "11:54" ส่งคืนสตริงที่ได้.

ตัวอย่างที่ 2:

Input: s = "0?:5?"
Output: "09:59"
คำอธิบาย: เวลาที่เป็นรูปแบบ 12 ชั่วโมงล่าสุดที่เราสามารถทำได้โดยการแทนที่ตัวอักษร "?" คือ "09:59"

ข้อจำกัด:

s.length == 5
s[2] เท่ากับอักขระ ":"
อักขระทั้งหมดยกเว้น s[2] เป็นตัวเลขหรืออักขระ "?"
ข้อมูลนำเข้าถูกสร้างขึ้นเพื่อให้มีอย่างน้อยหนึ่งช่วงเวลาระหว่าง "00:00" และ "11:59" ที่คุณสามารถได้รับหลังจากการแทนที่อักขระ "?"

คุณจะได้รับสตริง s ที่แทนเวลารูปแบบ 12 ชั่วโมง โดยบางตัวเลข (อาจจะไม่มีเลย) ถูกแทนด้วย "?"
เวลารูปแบบ 12 ชั่วโมงมีรูปแบบ "HH:MM" โดยที่ HH อยู่ระหว่าง 00 ถึง 11 และ MM อยู่ระหว่าง 00 ถึง 59 เวลาที่เร็วที่สุดในรูปแบบ 12 ชั่วโมงคือ 00:00 และล่าสุดคือ 11:59
คุณต้องแทนที่ตัวอักษร "?" ใน s ด้วยตัวเลขเพื่อให้เวลาที่ได้จากสตริงนั้นเป็นเวลาที่ถูกต้องตามรูปแบบ 12 ชั่วโมงและเป็นเวลาที่ล่าสุดเท่าที่จะเป็นไปได้
ส่งคืนสตริงที่ได้จากการแทนที่

ตัวอย่างที่ 1:

Input: s = "1?:?4"
Output: "11:54"
คำอธิบาย: เวลารูปแบบ 12 ชั่วโมงที่ล่าสุดที่เราสามารถทำได้โดยการแทนที่ตัวอักษร "?" คือ "11:54"

ตัวอย่างที่ 2:

Input: s = "0?:5?"
Output: "09:59"
คำอธิบาย: เวลารูปแบบ 12 ชั่วโมงที่ล่าสุดที่เราสามารถทำได้โดยการแทนที่ตัวอักษร "?" คือ "09:59"

ข้อจำกัด:

s.length == 5
s[2] เท่ากับตัวอักษร ":"
ตัวอักษรทั้งหมดนอกจาก s[2] เป็นตัวเลขหรือ "?"
อินพุตถูกสร้างขึ้นเพื่อให้มีเวลาระหว่าง "00:00" และ "11:59" อย่างน้อยหนึ่งเวลาที่คุณสามารถได้รับหลังจากแทนที่ตัวอักษร "?"


คุณจะได้รับอาร์เรย์จำนวนเต็ม nums
ส่งกลับจำนวนเต็มที่เป็นระยะห่างสูงสุดระหว่างดัชนีของจำนวนเฉพาะสองจำนวน (ไม่จำเป็นต้องต่างกัน) ใน nums

ตัวอย่างที่ 1:

อินพุต: nums = [4,2,9,5,3]
เอาต์พุต: 3
คำอธิบาย: nums[1], nums[3] และ nums[4] เป็นจำนวนเฉพาะ ดังนั้นคำตอบคือ |4 - 1| = 3

ตัวอย่างที่ 2:

อินพุต: nums = [4,8,2,8]
เอาต์พุต: 0
คำอธิบาย: nums[2] เป็นจำนวนเฉพาะ เนื่องจากมีจำนวนเฉพาะเพียงจำนวนเดียว คำตอบคือ |2 - 2| = 0.

ข้อจำกัด:

1 <= nums.length <= 3 * 10^5
1 <= nums[i] <= 100
อินพุตจะถูกสร้างขึ้นเพื่อให้จำนวนเฉพาะใน nums มีอย่างน้อยหนึ่ง

คุณได้รับอาเรย์ของจำนวนเต็ม nums
ส่งกลับจํานวนเต็มที่เป็นระยะทางสูงสุดระหว่างดัชนีของจํานวนเฉพาะสองตัว (ไม่จําเป็นต้องต่างกัน)

ตัวอย่างที่ 1:

อินพุต: nums = [4,2,9,5,3]
เอาท์พุต: 3
คําอธิบาย: nums[1], nums[3] และ nums[4] เป็นจํานวนเฉพาะ ดังนั้นคําตอบคือ |4 - 1| = 3.

ตัวอย่างที่ 2:

อินพุต: nums = [4,8,2,8]
เอาท์พุต: 0
คําอธิบาย: nums[2] เป็นจํานวนเฉพาะ เนื่องจากมีจํานวนเฉพาะเพียงตัวเดียว คําตอบคือ |2 - 2| = 0

ข้อจํากัด:

1 <= nums.length <= 3 * 10^5
1 <= nums[i] <= 100
อินพุตถูกสร้างขึ้นเพื่อให้จํานวนเฉพาะในตัวเลขมีอย่างน้อยหนึ่ง


คุณจะได้รับเหรียญอาร์เรย์จำนวนเต็มที่เป็นตัวแทนของเหรียญที่แตกต่างกันและจำนวนเต็ม k
คุณมีเหรีียญของแต่ละชนิดไม่จํากัดจํานวน อย่างไรก็ตามคุณไม่ได้รับอนุญาตให้รวมเหรียญที่แตกต่างกัน
ส่งคืนจำนวนที่น้อยที่สุดที่เป็น k^th ที่สามารถทำได้โดยใช้เหรียญเหล่านี้

ตัวอย่างที่ 1:

อินพุต: coins = [3,6,9], k = 3
เอาท์พุท: 9
คำอธิบาย: เหรียญที่กำหนดสามารถสร้างจำนวนต่อไปนี้:
Coin 3 ผลิตทวีคูณของ 3: 3, 6, 9, 12, 15, ฯลฯ
Coin 6 ผลิตทวีคูณของ 6: 6, 12, 18, 24 ฯลฯ
Coin 9 ผลิตทวีคูณของ 9: 9, 18, 27, 36, ฯลฯ
เหรียญทั้งหมดรวมกัน: 3, 6, 9, 12, 15, ฯลฯ

ตัวอย่างที่ 2:

อินพุต: coins = [5,2], k = 7
เอาท์พุท: 12
คำอธิบาย: เหรียญที่กำหนดสามารถสร้างจำนวนต่อไปนี้:
Coin 5 ผลิตทวีคูณของ 5: 5, 10, 15, 20, ฯลฯ
Coin 2 ผลิตทวีคูณของ 2: 2, 4, 6, 8, 10, 12, ฯลฯ
เหรียญทั้งหมดรวมกัน: 2, 4, 5, 6, 8, 10, 12, 14, 15, ฯลฯ

ข้อ จำกัด :

1 <= coins.length <= 15
1 <= coins[i] <= 25
1 <= k <= 2 * 10^9
เหรียญมีมูลค่าที่แตกต่างกันและไม่มีคู่ที่ซ้ำกัน

คุณจะได้รับเหรียญจำนวนเต็มซึ่งแสดงถึงเหรียญที่มีมูลค่าต่างกันและจำนวนเต็ม k
คุณมีเหรียญจำนวนไม่จำกัดในแต่ละมูลค่า อย่างไรก็ตาม คุณไม่สามารถรวมเหรียญที่มีมูลค่าต่างกันเข้าด้วยกันได้
คืนค่าจำนวนที่น้อยที่สุดเป็นอันดับที่ k^ ที่สามารถทำได้โดยใช้เหรียญเหล่านี้

ตัวอย่างที่ 1:

อินพุต: coins = [3,6,9], k = 3
เอาต์พุต: 9
คำอธิบาย: เหรียญที่กำหนดสามารถสร้างจำนวนต่อไปนี้ได้:
เหรียญ 3 สร้างผลคูณของ 3: 3, 6, 9, 12, 15 เป็นต้น
เหรียญ 6 สร้างผลคูณของ 6: 6, 12, 18, 24 เป็นต้น
เหรียญ 9 สร้างผลคูณของ 9: 9, 18, 27, 36 เป็นต้น
เหรียญทั้งหมดรวมกันสร้างผล: 3, 6, 9, 12, 15 เป็นต้น

ตัวอย่างที่ 2:

อินพุต: coins = [5,2], k = 7
เอาต์พุต: 12
คำอธิบาย: เหรียญที่กำหนดสามารถสร้างจำนวนต่อไปนี้ได้:
เหรียญ 5 สร้างผลคูณของ 5: 5, 10, 15, 20, ฯลฯ
เหรียญ 2 ผลิตผลคูณของ 2: 2, 4, 6, 8, 10, 12 เป็นต้น
เหรียญทั้งหมดรวมกันผลิตผลได้ดังนี้: 2, 4, 5, 6, 8, 10, 12, 14, 15 เป็นต้น

ข้อจำกัด:

1 <= coins.length <= 15
1 <= coins[i] <= 25
1 <= k <= 2 * 10^9
เหรียญมีจำนวนเต็มที่แตกต่างกันเป็นคู่


คุณได้รับอาร์เรย์สองชุด nums และ andValues ที่มีความยาว n และ m ตามลำดับ
ค่าของอาร์เรย์เท่ากับองค์ประกอบสุดท้ายของอาร์เรย์นั้น
คุณต้องแบ่ง nums ออกเป็น m ชุดย่อยที่ไม่ทับซ้อนกัน และต้องเรียงติดต่อกัน โดยที่สำหรับ i^th ชุดย่อย [l_i, r_i], ผลลัพธ์ของการ AND แบบบิตขององค์ประกอบในชุดย่อยนั้นเท่ากับ andValues[i] หรือก็คือ nums[l_i] & nums[l_i + 1] & ... & nums[r_i] == andValues[i] สำหรับทุก 1 <= i <= m, โดยที่ & แทนตัวดำเนินการ bitwise AND
คืนค่าผลรวมที่น้อยที่สุดที่เป็นไปได้ของค่าของ m ชุดย่อยที่ nums ถูกแบ่งออกมา หากไม่สามารถแบ่ง nums เป็น m ชุดย่อยที่เป็นไปตามเงื่อนไขนี้ได้ ให้คืนค่า -1

ตัวอย่างที่ 1:

Input: nums = [1,4,3,3,2], andValues = [0,3,3,2]
Output: 12
คำอธิบาย:
วิธีเดียวที่เป็นไปได้ในการแบ่ง nums คือ:

[1,4] เนื่องจาก 1 & 4 == 0
[3] เนื่องจากการ AND แบบบิตของชุดย่อยที่มีองค์ประกอบเดียวเป็นองค์ประกอบนั้นเอง
[3] เนื่องจากการ AND แบบบิตของชุดย่อยที่มีองค์ประกอบเดียวเป็นองค์ประกอบนั้นเอง
[2] เนื่องจากการ AND แบบบิตของชุดย่อยที่มีองค์ประกอบเดียวเป็นองค์ประกอบนั้นเอง

ผลรวมของค่าของชุดย่อยเหล่านี้คือ 4 + 3 + 3 + 2 = 12

ตัวอย่างที่ 2:

Input: nums = [2,3,5,7,7,7,5], andValues = [0,7,5]
Output: 17
คำอธิบาย:
มีสามวิธีในการแบ่ง nums:

[[2,3,5],[7,7,7],[5]] กับผลรวมของค่า 5 + 7 + 5 == 17
[[2,3,5,7],[7,7],[5]] กับผลรวมของค่า 7 + 7 + 5 == 19
[[2,3,5,7,7],[7],[5]] กับผลรวมของค่า 7 + 7 + 5 == 19

ผลรวมที่น้อยที่สุดที่เป็นไปได้ของค่าคือ 17

ตัวอย่างที่ 3:

Input: nums = [1,2,3,4], andValues = [2]
Output: -1
คำอธิบาย:
การ AND แบบบิตของอาร์เรย์ nums ทั้งหมดคือ 0 เนื่องจากไม่มีวิธีที่เป็นไปได้ในการแบ่ง nums เป็นชุดย่อยเดียวที่จะมีการ AND แบบบิตขององค์ประกอบเท่ากับ 2 ให้คืนค่า -1

ข้อจำกัด:

1 <= n == nums.length <= 10^4
1 <= m == andValues.length <= min(n, 10)
1 <= nums[i] < 10^5
0 <= andValues[j] < 10^5

คุณจะได้รับสองอาร์เรย์ nums และค่าความยาว n และ m ตามลำดับ
ค่าของอาร์เรย์เท่ากับองค์ประกอบสุดท้ายของอาร์เรย์นั้น
คุณต้องแบ่ง nums เป็น m แยกส่วนย่อย ที่ต่อเนื่องกันเช่นสำหรับ subarray i^th [l_i, r_i], bitwise และขององค์ประกอบ subarray เท่ากับและค่า [i] กล่าวอีกนัยหนึ่ง, nums [l_i] & nums [ l_i + 1] & ... & nums [r_i] == และค่า [i] สำหรับทั้งหมด 1 <= i <= m โดยที่ & แสดงถึง bitwise และตัวดำเนินการ
ส่งคืนผลรวมขั้นต่ำที่เป็นไปได้ของค่าของ m subarrays m nums ถูกแบ่งออกเป็น หากเป็นไปไม่ได้ที่จะแบ่ง nums ออกเป็น m subarrays ตามเงื่อนไขเหล่านี้ให้กลับมา -1

ตัวอย่างที่ 1:

อินพุต: nums = [1,4,3,3,2], andValues = [0,3,3,2]
เอาท์พุท: 12
คำอธิบาย:
วิธีเดียวที่เป็นไปได้ในการแบ่ง nums คือ:

[1,4] เป็น 1 & 4 == 0
[3] เนื่องจากบิต AND ของอาร์เรย์ย่อยขององค์ประกอบเดียวคือองค์ประกอบนั้นเอง
[3] เนื่องจากบิต AND ของอาร์เรย์ย่อยขององค์ประกอบเดียวคือองค์ประกอบนั้นเอง
[2] เนื่องจากบิต AND ของอาร์เรย์ย่อยขององค์ประกอบเดียวคือองค์ประกอบนั้นเอง

ผลรวมของค่าสำหรับ subarrays เหล่านี้คือ 4 + 3 + 3 + 2 = 12

ตัวอย่างที่ 2:

อินพุต: nums = [2,3,5,7,7,7,5], andValues = [0,7,5]
เอาท์พุท: 17
คำอธิบาย:
มีสามวิธีในการแบ่ง nums:

[[2,3,5], [7,7,7], [5]] ด้วยผลรวมของค่า 5 + 7 + 5 == 17
[[2,3,5,7], [7,7], [5]] ด้วยผลรวมของค่า 7 + 7 + 5 == 19
[[2,3,5,7,7], [7], [5]] ด้วยผลรวมของค่า 7 + 7 + 5 == 19

ผลรวมขั้นต่ำที่เป็นไปได้ของค่าคือ 17

ตัวอย่างที่ 3:

อินพุต: nums = [1,2,3,4], andValues = [2]
เอาท์พุท: -1
คำอธิบาย:
บิต AND ของอาร์เรย์ทั้งหมด nums คือ 0 เนื่องจากไม่มีวิธีที่เป็นไปได้ในการแบ่งตัวเลขออกเป็นอาร์เรย์ย่อยเดียวเพื่อให้มี AND ตามบิตขององค์ประกอบ 2 ให้ส่งคืน -1

ข้อ จำกัด :

1 <= n == nums.length <= 10^4
1 <= m == andValues.length <= min(n, 10)
1 <= nums[i] < 10^5
0 <= andValues[j] < 10^5

คุณจะได้รับสองอาร์เรย์ nums และความยาว n และ m ตามลำดับ
ค่าของอาร์เรย์เท่ากับองค์ประกอบสุดท้ายของอาร์เรย์นั้น
คุณต้องแบ่ง nums เป็น m subarrays ที่ไม่ซ้ำกันและต่อเนื่องกันเช่นสำหรับ subarray i^th [l_i, r_i], bitwise ANDขององค์ประกอบ subarray เท่ากับandValues[i] กล่าวอีกนัยหนึ่ง, nums [l_i] & nums [ l_i + 1] & ... & nums [r_i] == andValues[i] สำหรับทั้งหมด 1 <= i <= m โดยที่ & แสดงถึง bitwise ANDตัวดำเนินการ
ส่งคืนผลรวมขั้นต่ำที่เป็นไปได้ของค่าของ m subarrays ที่ nums ถูกแบ่งออกเป็น หากเป็นไปไม่ได้ที่จะแบ่ง nums ออกเป็น m subarrays ตามเงื่อนไขเหล่านี้ให้กลับมา -1

ตัวอย่างที่ 1:

อินพุต: nums = [1,4,3,3,2], andValues = [0,3,3,2]
เอาท์พุท: 12
คำอธิบาย:
วิธีเดียวที่เป็นไปได้ในการแบ่ง NUMS คือ:

[1,4] เป็น 1 & 4 == 0
[3] เป็น bitwise ANDของ subarray องค์ประกอบเดียวคือองค์ประกอบนั้นเอง
[3] เป็น bitwise ANDของ subarray องค์ประกอบเดียวคือองค์ประกอบนั้นเอง
[2] เป็น bitwise ANDของ subarray องค์ประกอบเดียวคือองค์ประกอบนั้นเอง

ผลรวมของค่าสำหรับ subarrays เหล่านี้คือ 4 + 3 + 3 + 2 = 12

ตัวอย่างที่ 2:

อินพุต: nums = [2,3,5,7,7,7,5], andValues = [0,7,5]
เอาท์พุท: 17
คำอธิบาย:
มีสามวิธีในการแบ่ง nums:

[[2,3,5], [7,7,7], [5]] ด้วยผลรวมของค่า 5 + 7 + 5 == 17
[[2,3,5,7], [7,7], [5]] ด้วยผลรวมของค่า 7 + 7 + 5 == 19
[[2,3,5,7,7], [7], [5]] ด้วยผลรวมของค่า 7 + 7 + 5 == 19

ผลรวมขั้นต่ำที่เป็นไปได้ของค่าคือ 17

ตัวอย่างที่ 3:

อินพุต: nums = [1,2,3,4], andValues = [2]
เอาท์พุท: -1
คำอธิบาย:
bitwise ANDของอาร์เรย์ทั้งหมดคือ 0 เนื่องจากไม่มีวิธีที่เป็นไปได้ที่จะแบ่ง nums ออกเป็น subarray เดียวเพื่อให้ได้ bitwise ANDขององค์ประกอบ 2, return -1

ข้อ จำกัด :

1 <= n == nums.length <= 10^4
1 <= m == andValuesความยาว <= นาที (n, 10)
1 <= nums [i] <10^5
0 <=andValues [j] <10^5


คุณได้รับอาร์เรย์จำนวนเต็ม nums ที่ประกอบด้วยจำนวนเต็มบวก เรากำหนดฟังก์ชัน encrypt เช่นว่า encrypt(x) แทนค่าทุกหลักใน x ด้วยตัวเลขที่ใหญ่ที่สุดใน x ตัวอย่างเช่น encrypt(523) = 555 และ encrypt(213) = 333
คืนค่าผลรวมขององค์ประกอบที่เข้ารหัส

ตัวอย่างที่ 1:

Input: nums = [1,2,3]
Output: 6
Explanation: องค์ประกอบที่เข้ารหัสคือ [1,2,3] ผลรวมของที่องค์ประกอบที่เข้ารหัสคือ 1 + 2 + 3 == 6

ตัวอย่างที่ 2:

Input: nums = [10,21,31]
Output: 66
Explanation: องค์ประกอบที่เข้ารหัสคือ [11,22,33] ผลรวมขององค์ประกอบที่เข้ารหัสคือ 11 + 22 + 33 == 66

ข้อจำกัด:

1 <= nums.length <= 50
1 <= nums[i] <= 1000

คุณจะได้รับอาร์เรย์จำนวนเต็มที่มีจำนวนเต็มบวก เรากำหนดฟังก์ชั่นเข้ารหัสที่เข้ารหัส (x) แทนที่ทุกหลักใน x ด้วยตัวเลขที่ใหญ่ที่สุดใน x ตัวอย่างเช่นเข้ารหัส (523) = 555 และเข้ารหัส (213) = 333
ส่งคืนผลรวมของตัวเลขที่เข้ารหัสแล้ว
ตัวอย่างที่ 1:

อินพุต: nums = [1,2,3]
เอาท์พุท: 6
คำอธิบาย: องค์ประกอบที่เข้ารหัสคือ [1,2,3] ผลรวมขององค์ประกอบที่เข้ารหัสคือ 1 + 2 + 3 == 6

ตัวอย่างที่ 2:

อินพุต: nums = [10,21,31]
เอาท์พุท: 66
คำอธิบาย: องค์ประกอบที่เข้ารหัสคือ [11,22,33] ผลรวมขององค์ประกอบที่เข้ารหัสคือ 11 + 22 + 33 == 66

ข้อ จำกัด :

1 <= nums.length <= 50
1 <= nums [i] <= 1000

คุณได้รับอาร์เรย์จำนวนเต็ม nums ที่ประกอบด้วยจำนวนเต็มบวก เรากำหนดฟังก์ชัน encrypt เช่นว่า encrypt(x) แทนค่าทุกหลักใน x ด้วยตัวเลขที่มากที่สุดใน x ตัวอย่างเช่น encrypt(523) = 555 และ encrypt(213) = 333
คืนค่าผลรวมของสมาชิกที่ถูกเข้ารหัส

ตัวอย่างที่ 1:

อินพุต: nums = [1,2,3]
เอาต์พุต: 6
คำอธิบาย: สมาชิกที่ถูกเข้ารหัสคือ [1,2,3] ผลรวมของสมาชิกที่ถูกเข้ารหัสคือ 1 + 2 + 3 == 6

ตัวอย่างที่ 2:

อินพุต: nums = [10,21,31]
เอาต์พุต: 66
คำอธิบาย: สมาชิกที่ถูกเข้ารหัสคือ [11,22,33] ผลรวมของสมาชิกที่ถูกเข้ารหัสคือ 11 + 22 + 33 == 66

ข้อจำกัด:

1 <= nums.length <= 50
1 <= nums[i] <= 1000


คุณได้รับอาร์เรย์ที่เป็นดัชนีเริ่มต้น nums ขนาด n ซึ่งประกอบด้วยจำนวนเต็มบวก
คุณยังได้รับอาร์เรย์ 2 มิติ queries ขนาด m ซึ่ง queries[i] = [index_i, k_i]
ในตอนแรก ทุกๆ องค์ประกอบของอาร์เรย์ไม่ได้ถูกทำเครื่องหมาย
คุณจำเป็นต้องใช้คำสั่ง m กับอาร์เรย์ตามลำดับ ซึ่งในคำสั่งที่  i^thคุณต้องทำดังนี้:

ทำเครื่องหมายองค์ประกอบที่ดัชนี index_i ถ้ายังไม่ได้ถูกทำเครื่องหมาย
จากนั้นทำเครื่องหมาย k_i องค์ประกอบที่ไม่ได้ทำเครื่องหมายในอาร์เรย์ด้วยค่าที่น้อยที่สุด ถ้ามีองค์ประกอบดังกล่าวหลายตัว ให้ทำเครื่องหมายตัวที่มีดัชนีน้อยที่สุด และถ้ามีองค์ประกอบที่ไม่ได้ทำเครื่องหมายน้อยกว่า k_i ให้ทำเครื่องหมายทั้งหมด

ส่งคืนอาร์เรย์ answer ขนาด m โดยที่ answer[i] คือผลรวมขององค์ประกอบที่ไม่ได้ทำเครื่องหมายในอาร์เรย์หลังจากคำสั่งที่ i^th

ตัวอย่างที่ 1:

Input: nums = [1,2,2,1,2,3,1], queries = [[1,2],[3,3],[4,2]]
Output: [8,3,0]
คำอธิบาย:
เราทำคำสั่งต่อไปนี้กับอาร์เรย์:

ทำเครื่องหมายองค์ประกอบที่ดัชนี 1 และ 2 ขององค์ประกอบที่ไม่ได้ทำเครื่องหมายที่มีดัชนีน้อยที่สุดถ้ามีอยู่ องค์ประกอบที่ถูกทำเครื่องหมายตอนนี้คือ nums = [1,2,2,1,2,3,1] ผลรวมขององค์ประกอบที่ไม่ได้ทำเครื่องหมายคือ 2 + 2 + 3 + 1 = 8
ทำเครื่องหมายองค์ประกอบที่ดัชนี 3 เนื่องจากมันถูกทำเครื่องหมายแล้วเราจะข้ามมัน จากนั้นเราทำเครื่องหมาย 3 ขององค์ประกอบที่ไม่ได้ทำเครื่องหมายที่มีดัชนีน้อยที่สุด องค์ประกอบที่ถูกทำเครื่องหมายตอนนี้คือ nums = [1,2,2,1,2,3,1] ผลรวมขององค์ประกอบที่ไม่ได้ทำเครื่องหมายคือ 3
ทำเครื่องหมายองค์ประกอบที่ดัชนี 4 เนื่องจากมันถูกทำเครื่องหมายแล้วเราจะข้ามมัน จากนั้นเราทำเครื่องหมาย 2 ขององค์ประกอบที่ไม่ได้ทำเครื่องหมายที่มีดัชนีน้อยที่สุดถ้ามีอยู่ องค์ประกอบที่ถูกทำเครื่องหมายตอนนี้คือ nums = [1,2,2,1,2,3,1] ผลรวมขององค์ประกอบที่ไม่ได้ทำเครื่องหมายคือ 0

ตัวอย่างที่ 2:

Input: nums = [1,4,2,3], queries = [[0,1]]
Output: [7]
คำอธิบาย: เราทำคำสั่งหนึ่งคำสั่งคือทำเครื่องหมายองค์ประกอบที่ดัชนี 0 และทำเครื่องหมายองค์ประกอบที่เล็กที่สุดในกลุ่มที่ไม่ได้ทำเครื่องหมาย องค์ประกอบที่ถูกทำเครื่องหมายจะเป็น nums = [1,4,2,3] และผลรวมขององค์ประกอบที่ไม่ได้ทำเครื่องหมายคือ 4 + 3 = 7

ข้อจำกัด:

n == nums.length
m == queries.length
1 <= m <= n <= 10^5
1 <= nums[i] <= 10^5
queries[i].length == 2
0 <= index_i, k_i <= n - 1

คุณจะได้รับอาร์เรย์ที่มีดัชนี 0 จำนวน n ที่ประกอบด้วยจำนวนเต็มบวก
คุณยังได้รับแบบสอบถามอาร์เรย์ 2 มิติขนาด m โดยที่ queries[i] = [index_i, k_i]
ในตอนแรกองค์ประกอบทั้งหมดในอาร์เรย์จะไม่มีเครื่องหมาย
คุณต้องใช้แบบสอบถาม m รายการกับอาร์เรย์ตามลำดับ โดยในแบบสอบถามครั้งที่ i^ คุณต้องทำดังต่อไปนี้:

ทำเครื่องหมายองค์ประกอบที่ดัชนี index_i หากยังไม่ได้ทำเครื่องหมาย
จากนั้นทำเครื่องหมายองค์ประกอบที่ไม่มีเครื่องหมาย k_i ในอาร์เรย์ด้วยค่าที่เล็กที่สุด หากมีองค์ประกอบดังกล่าวหลายรายการ ให้ทำเครื่องหมายองค์ประกอบที่มีดัชนีที่เล็กที่สุด และหากมีองค์ประกอบที่ไม่มีเครื่องหมายน้อยกว่า k_i ให้ทำเครื่องหมายทั้งหมด

ส่งคืนคำตอบของอาร์เรย์ขนาด m โดยที่ answer[i] คือผลรวมขององค์ประกอบที่ไม่มีเครื่องหมายในอาร์เรย์หลังจากแบบสอบถามครั้งที่ i^

ตัวอย่างที่ 1:

อินพุต: nums = [1,2,2,1,2,3,1], query = [[1,2],[3,3],[4,2]]
เอาต์พุต: [8,3,0]
คำอธิบาย:
เราทำการ query ต่อไปนี้ในอาร์เรย์:

ทำเครื่องหมายองค์ประกอบที่ดัชนี 1 และ 2 ขององค์ประกอบที่เล็กที่สุดที่ไม่ได้ทำเครื่องหมายด้วยดัชนีที่เล็กที่สุดหากมีอยู่ องค์ประกอบที่ทำเครื่องหมายตอนนี้คือ nums = [1,2,2,1,2,3,1] ผลรวมขององค์ประกอบที่ไม่ได้ทำเครื่องหมายคือ 2 + 2 + 3 + 1 = 8
ทำเครื่องหมายองค์ประกอบที่ดัชนี 3 เนื่องจากมีการทำเครื่องหมายแล้ว เราจึงข้ามไป จากนั้นเราจะทำเครื่องหมายองค์ประกอบที่เล็กที่สุดที่ไม่ได้ทำเครื่องหมาย 3 องค์ประกอบด้วยดัชนีที่เล็กที่สุด องค์ประกอบที่ทำเครื่องหมายตอนนี้คือ nums = [1,2,2,1,2,3,1] ผลรวมขององค์ประกอบที่ไม่ได้ทำเครื่องหมายคือ 3
ทำเครื่องหมายองค์ประกอบที่ดัชนี 4 เนื่องจากองค์ประกอบนั้นถูกทำเครื่องหมายไว้แล้ว เราจึงข้ามองค์ประกอบนั้นไป จากนั้นเราจะทำเครื่องหมายองค์ประกอบที่ไม่ได้ทำเครื่องหมายที่เล็กที่สุด 2 รายการด้วยดัชนีที่เล็กที่สุดหากมีอยู่ องค์ประกอบที่ทำเครื่องหมายไว้ตอนนี้คือ nums = [1,2,2,1,2,3,1] ผลรวมขององค์ประกอบที่ไม่ได้ทำเครื่องหมายคือ 0

ตัวอย่างที่ 2:

อินพุต: nums = [1,4,2,3], queries = [[0,1]]
เอาต์พุต: [7]
คำอธิบาย: เราจะทำการคิวรีหนึ่งครั้งโดยทำเครื่องหมายองค์ประกอบที่ดัชนี 0 และทำเครื่องหมายองค์ประกอบที่เล็กที่สุดในบรรดาองค์ประกอบที่ไม่ได้ทำเครื่องหมาย องค์ประกอบที่ทำเครื่องหมายไว้จะเป็น nums = [1,4,2,3] และผลรวมขององค์ประกอบที่ไม่ได้ทำเครื่องหมายไว้คือ 4 + 3 = 7

ข้อจำกัด:

n == nums.length
m == queries.length
1 <= m <= n <= 10^5
1 <= nums[i] <= 10^5
queries[i].length == 2
0 <= index_i, k_i <= n - 1

คุณจะได้รับอาร์เรย์ที่มีดัชนี 0 จำนวน n ที่ประกอบด้วยจำนวนเต็มบวก
คุณยังได้รับแบบสอบถามอาร์เรย์ 2 มิติขนาด m โดยที่ queries[i] = [index_i, k_i]
ในตอนแรกองค์ประกอบทั้งหมดในอาร์เรย์จะไม่มีเครื่องหมาย
คุณต้องใช้แบบสอบถาม m รายการกับอาร์เรย์ตามลำดับ โดยในแบบสอบถามครั้งที่ i^ คุณต้องทำดังต่อไปนี้:

ทำเครื่องหมายองค์ประกอบที่ดัชนี index_i หากยังไม่ได้ทำเครื่องหมาย
จากนั้นทำเครื่องหมายองค์ประกอบที่ไม่มีเครื่องหมาย k_i ในอาร์เรย์ด้วยค่าที่เล็กที่สุด หากมีองค์ประกอบดังกล่าวหลายรายการ ให้ทำเครื่องหมายองค์ประกอบที่มีดัชนีที่เล็กที่สุด และหากมีองค์ประกอบที่ไม่มีเครื่องหมายน้อยกว่า k_i ให้ทำเครื่องหมายทั้งหมด

ส่งคืนคำตอบของอาร์เรย์ขนาด m โดยที่ answer[i] คือผลรวมขององค์ประกอบที่ไม่มีเครื่องหมายในอาร์เรย์หลังจากแบบสอบถามครั้งที่ i^
ตัวอย่างที่ 1:

อินพุต: nums = [1,2,2,1,2,3,1], queries = [[1,2],[3,3],[4,2]]
เอาต์พุต: [8,3,0]
คำอธิบาย:
เราทำการ query ต่อไปนี้ในอาร์เรย์:

ทำเครื่องหมายองค์ประกอบที่ดัชนี 1 และ 2 ขององค์ประกอบที่เล็กที่สุดที่ไม่ได้ทำเครื่องหมายด้วยดัชนีที่เล็กที่สุดหากมีอยู่ องค์ประกอบที่ทำเครื่องหมายตอนนี้คือ nums = [1,2,2,1,2,3,1] ผลรวมขององค์ประกอบที่ไม่ได้ทำเครื่องหมายคือ 2 + 2 + 3 + 1 = 8
ทำเครื่องหมายองค์ประกอบที่ดัชนี 3 เนื่องจากมีการทำเครื่องหมายแล้ว เราจึงข้ามไป จากนั้นเราจะทำเครื่องหมายองค์ประกอบที่เล็กที่สุดที่ไม่ได้ทำเครื่องหมาย 3 องค์ประกอบด้วยดัชนีที่เล็กที่สุด องค์ประกอบที่ทำเครื่องหมายตอนนี้คือ nums = [1,2,2,1,2,3,1] ผลรวมขององค์ประกอบที่ไม่ได้ทำเครื่องหมายคือ 3
ทำเครื่องหมายองค์ประกอบที่ดัชนี 4 เนื่องจากองค์ประกอบนั้นถูกทำเครื่องหมายไว้แล้ว เราจึงข้ามองค์ประกอบนั้นไป จากนั้นเราจะทำเครื่องหมายองค์ประกอบที่ไม่ได้ทำเครื่องหมายที่เล็กที่สุด 2 รายการด้วยดัชนีที่เล็กที่สุดหากมีอยู่ องค์ประกอบที่ทำเครื่องหมายไว้ตอนนี้คือ nums = [1,2,2,1,2,3,1] ผลรวมขององค์ประกอบที่ไม่ได้ทำเครื่องหมายคือ 0

ตัวอย่างที่ 2:

อินพุต: nums = [1,4,2,3], queries = [[0,1]]
เอาต์พุต: [7]
คำอธิบาย: เราจะทำการคิวรีหนึ่งครั้งโดยทำเครื่องหมายองค์ประกอบที่ดัชนี 0 และทำเครื่องหมายองค์ประกอบที่เล็กที่สุดในบรรดาองค์ประกอบที่ไม่ได้ทำเครื่องหมาย องค์ประกอบที่ทำเครื่องหมายไว้จะเป็น nums = [1,4,2,3] และผลรวมขององค์ประกอบที่ไม่ได้ทำเครื่องหมายไว้คือ 4 + 3 = 7

ข้อจำกัด:

n == nums.length
m == query.length
1 <= m <= n <= 10^5
1 <= nums[i] <= 10^5
queries[i].length == 2
0 <= index_i, k_i <= n - 1


คุณได้รับสตริง s. s[i] เป็นตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กหรือ '?' เท่านั้น
สำหรับสตริง t ที่มีความยาว m ซึ่งประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น เรากำหนดฟังก์ชัน cost(i) สำหรับดัชนี i เป็นจำนวนตัวอักษรที่เท่ากับ t[i] ซึ่งปรากฏก่อนหน้านั้น นั่นคือในช่วง [0, i - 1].
ค่าของ t คือผลรวมของ cost(i) สำหรับดัชนีทั้งหมด i.
ตัวอย่างเช่น สำหรับสตริง t = "aab":

cost(0) = 0
cost(1) = 1
cost(2) = 0

ดังนั้น ค่าของ "aab" คือ 0 + 1 + 0 = 1

งานของคุณคือการแทนที่การเกิดขึ้นทั้งหมดของ '?' ใน s ด้วยตัวอักษรภาษาอังกฤษตัวเล็กใด ๆ เพื่อให้ค่าของ s ต่ำสุด
ส่งคืนสตริงที่แสดงถึงสตริงที่แก้ไขแล้วพร้อมการแทนที่การเกิดขึ้นของ '?' หากมีหลายสตริงที่ทำให้ได้ค่าต่ำสุด ให้ส่งคืนสตริงที่มีลำดับพจนานุกรมที่เล็กที่สุด

ตัวอย่าง 1:

Input:   s = "???"
Output:  "abc"
คำอธิบาย: ในตัวอย่างนี้ เราสามารถแทนที่เครื่องหมาย '?' เพื่อทำให้ s เท่ากับ "abc" ได้
สำหรับ "abc" ค่า cost(0) = 0, cost(1) = 0, และ cost(2) = 0
ค่าของ "abc" คือ 0
การปรับเปลี่ยนอื่น ๆ ของ s ที่มีค่าเป็น 0 ได้แก่ "cba", "abz", และ "hey"
ในบรรดาทั้งหมดนี้ เราเลือกค่าที่เล็กที่สุดตามลำดับพจนานุกรม

ตัวอย่าง 2:

Input:  s = "a?a?"
Output:  "abac"
คำอธิบาย: ในตัวอย่างนี้ การเกิดของ '?' สามารถถูกแทนที่เพื่อทำให้ s เท่ากับ "abac" สำหรับ "abac"
ค่า cost(0) = 0, cost(1) = 0, cost(2) = 1, และ cost(3) = 0
ค่าใช้จ่ายของ "abac" คือ 1.

ข้อจำกัด:

1 <= s.length <= 10^5
s[i] เป็นตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กหรือ '?'

คุณมีสตริง s ซึ่ง s[i] เป็นได้ทั้งตัวอักษรภาษาอังกฤษตัวเล็กหรือ '?'
สำหรับสตริง t ที่มีความยาว m ซึ่งประกอบด้วยตัวอักษรภาษาอังกฤษตัวเล็กเท่านั้น เรากำหนดฟังก์ชัน cost(i) สำหรับดัชนี i เป็นจำนวนของตัวอักษรที่เท่ากับ t[i] ที่ปรากฏก่อนหน้าในช่วง [0, i - 1]
ค่าของ t คือผลรวมของ cost(i) สำหรับทุกดัชนี i
ตัวอย่างเช่น สำหรับสตริง t = "aab":

cost(0) = 0
cost(1) = 1
cost(2) = 0
ดังนั้น ค่าของ "aab" คือ 0 + 1 + 0 = 1

งานของคุณคือแทนที่ '?' ทั้งหมดใน s ด้วยตัวอักษรภาษาอังกฤษตัวเล็กใด ๆ เพื่อให้ค่าของ s มีค่าน้อยที่สุด
คืนค่าเป็นสตริงที่แสดงถึง s ที่แก้ไขแล้ว ซึ่ง '?' ถูกแทนที่แล้ว หากมีสตริงหลายชุดที่ให้ค่าต่ำสุดเท่ากัน ให้คืนค่าสตริงที่เล็กที่สุดในลำดับพจนานุกรม

ตัวอย่างที่ 1:

อินพุต:  s = "???"
ผลลัพธ์:   "abc"
คำอธิบาย:  ในตัวอย่างนี้ เราสามารถแทนที่ '?' ให้ s เท่ากับ "abc"
สำหรับ "abc", cost(0) = 0, cost(1) = 0, and cost(2) = 0.
ค่าของ "abc" คือ 0
การเปลี่ยน '?' อื่น ๆ เช่น "cba", "abz", และ "hey" ก็มีค่า 0 เช่นกัน
แต่ในทั้งหมด "abc" เป็นสตริงที่เล็กที่สุดในลำดับพจนานุกรม

ตัวอย่างที่ 2:

อินพุต:  s = "a?a?"
ผลลัพธ์:  "abac"
คำอธิบาย:  ในตัวอย่างนี้ เราสามารถแทนที่ '?' เพื่อให้ s เท่ากับ "abac"
สำหรับ "abac", cost(0) = 0, cost(1) = 0, cost(2) = 1, and cost(3) = 0.
ค่าของ "abac" คือ 1

ข้อจำกัด:

1 <= s.length <= 10^5
s[i] เป็นได้ทั้งตัวอักษรภาษาอังกฤษตัวเล็กหรือ '?'

คุณจะได้รับสตริง s โดยที่ s[i] อาจเป็นตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กหรือ '?'
สำหรับสตริง t ที่มีความยาว m ซึ่งประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น เราจะกำหนดฟังก์ชัน cost(i) สำหรับดัชนี i เป็นจำนวนอักขระที่เท่ากับ t[i] ที่ปรากฏอยู่ก่อนหน้านั้น กล่าวคือ ในช่วง [0, i - 1]
ค่าของ t คือผลรวมของ cost(i) สำหรับดัชนี i ทั้งหมด
ตัวอย่างเช่น สำหรับสตริง t = "aab":

cost(0) = 0
cost(1) = 1
cost(2) = 0
ดังนั้น ค่าของ "aab" คือ 0 + 1 + 0 = 1

งานของคุณคือแทนที่ '?' ทั้งหมดใน s ด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กใดๆ ก็ได้เพื่อให้ค่าของ s น้อยที่สุด
ส่งกลับสตริงที่ระบุสตริงที่แก้ไขแล้วโดยแทนที่ '?' หากมีสตริงหลายตัวที่ส่งผลให้มีค่าต่ำสุด ให้ส่งคืนสตริงที่เล็กที่สุดในพจนานุกรม

ตัวอย่างที่ 1:

อินพุต: s = "???"
เอาต์พุต: "abc"
คำอธิบาย: ในตัวอย่างนี้ เราสามารถแทนที่การปรากฏของ '?' เพื่อทำให้ s เท่ากับ "abc"
สำหรับ "abc", cost(0) = 0, cost(1) = 0 และ cost(2) = 0
ค่าของ "abc" คือ 0
การปรับเปลี่ยน s อื่นๆ ที่มีค่า 0 ได้แก่ "cba", "abz" และ "hey"
จากทั้งหมดนี้ เราเลือกตัวที่เล็กที่สุดในพจนานุกรม

ตัวอย่างที่ 2:

อินพุต: s = "a?a?"
เอาต์พุต: "abac"
คำอธิบาย: ในตัวอย่างนี้ เราสามารถแทนที่การปรากฏของ '?' เพื่อทำให้ s เท่ากับ "abac"
สำหรับ "abac" ต้นทุน (0) = 0 ต้นทุน (1) = 0 ต้นทุน (2) = 1 และต้นทุน (3) = 0
ค่าของ "abac" คือ 1

ข้อจำกัด:

1 <= s.length <= 10^5
s[i] เป็นตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กหรือ '?'


คุณจะได้รับอาร์เรย์จำนวนเต็ม nums ที่มีความยาว n และจำนวนเต็มบวก k
กำลังของอาร์เรย์จำนวนเต็มถูกกำหนดให้เป็นจำนวนของลำดับย่อยที่มีผลรวมเท่ากับ k
ส่งคืนผลรวมของกำลังของลำดับย่อยทั้งหมดของ nums
เนื่องจากคำตอบอาจมีค่ามาก ให้ส่งคืนโมดูโล 10^9 + 7

ตัวอย่างที่ 1:

อินพุต: nums = [1,2,3], k = 3
เอาต์พุต: 6
คำอธิบาย:
มีลำดับย่อยของ nums 5 ลำดับที่มีกำลังไม่เป็นศูนย์:

ลำดับย่อย [1,2,3] มีลำดับย่อย 2 ลำดับที่ผลรวม == 3: [1,2,3] และ [1,2,3]
ลำดับย่อย [1,2,3] มีลำดับย่อย 1 ลำดับที่ผลรวม == 3: [1,2,3]
ลำดับย่อย [1,2,3] มีลำดับย่อย 1 ลำดับที่ผลรวม == 3: [1,2,3]
ลำดับย่อย [1,2,3] มีลำดับย่อย 1 ลำดับที่ผลรวม == 3: [1,2,3]
ลำดับย่อย [1,2,3] มีลำดับย่อย 1 ลำดับที่ผลรวม == 3: [1,2,3]

ดังนั้นคำตอบคือ 2 + 1 + 1 + 1 + 1 = 6

ตัวอย่างที่ 2:

อินพุต: nums = [2,3,3], k = 5
เอาต์พุต: 4
คำอธิบาย:
มี 3 ลำดับย่อยของ nums ที่มีเลขยกกำลังไม่เป็นศูนย์:

ลำดับย่อย [2,3,3] มี 2 ลำดับที่ผลรวม == 5: [2,3,3] และ [2,3,3]
ลำดับย่อย [2,3,3] มีลำดับย่อย 1 ลำดับที่ผลรวม == 5: [2,3,3]
ลำดับย่อย [2,3,3] มีลำดับย่อย 1 ลำดับที่ผลรวม == 5: [2,3,3]

ดังนั้นคำตอบคือ 2 + 1 + 1 = 4

ตัวอย่างที่ 3:

อินพุต: nums = [1,2,3], k = 7
เอาต์พุต: 0
คำอธิบาย: ไม่มีลำดับย่อยที่ผลรวม 7 ดังนั้นลำดับย่อยทั้งหมดของ nums จึงมีกำลัง = 0

ข้อจำกัด:

1 <= n <= 100
1 <= nums[i] <= 10^4
1 <= k <= 100

คุณจะได้รับจํานวนอาร์เรย์จํานวนเต็มที่มีความยาว n และจํานวนเต็มบวก k
กําลังของอาร์เรย์ของจํานวนเต็มถูกกําหนดให้เป็นจํานวนลําดับย่อยที่มีผลรวมเท่ากับ k
ส่งคืนผลรวมของกําลังของลําดับย่อยทั้งหมดของ nums
เนื่องจากคําตอบอาจใหญ่มาก ให้ส่งคืนโมดูโล 10^9 + 7

ตัวอย่างที่ 1:

อินพุต: nums = [1,2,3], k = 3
เอาท์พุต: 6
การอธิบาย:
มี 5 ลําดับย่อยของตัวเลขที่มีกําลังไม่เป็นศูนย์:

ลําดับย่อย [1,2,3] มี 2 ลําดับย่อยที่มีผลรวมเท่ากับ 3: [1,2] และ [2,3]
ลําดับย่อย [1,2,3] มีลําดับย่อย 1 ลําดับที่มีผลรวมเท่ากับ 3 [1,2,3]
ลําดับย่อย [1,2,3] มีลําดับย่อย 1 ลําดับที่มีผลรวมเท่ากับ 3 [1,2,3]
ลําดับย่อย [1,2,3] มีลําดับย่อย 1 ลําดับที่มีผลรวมเท่ากับ 3 [1,2,3]
ลําดับย่อย [1,2,3] มีลําดับย่อย 1 ลําดับที่มีผลรวมเท่ากับ 3 [1,2,3]

ดังนั้นคําตอบคือ 2 + 1 + 1 + 1 + 1 = 6

ตัวอย่างที่ 2:

อินพุต:   nums = [2,3,3], k = 5
เอาท์พุต: 4
การอธิบาย:
มี 3 ลําดับย่อยของ nums ที่มีกําลังไม่เป็นศูนย์:

ลําดับย่อย [2,3,3] มีลําดับย่อย 2 ลําดับที่มีผลรวม == 5: [2,3,3] และ [2,3,3]
ลําดับย่อย [2,3,3] มีลําดับย่อย 1 ลําดับที่มีผลรวม == 5: [2,3,3]
ลําดับย่อย [2,3,3] มีลําดับย่อย 1 ลําดับที่มีผลรวม == 5: [2,3,3]

ดังนั้นคําตอบคือ 2 + 1 + 1 = 4

ตัวอย่างที่ 3:

อินพุต: nums = [1,2,3], k = 7
เอาท์พุต: 0
คําอธิบาย: ไม่มีลําดับย่อยที่มีผลรวม 7 ดังนั้นลําดับย่อยทั้งหมดของ nums จึงมีกําลัง = 0

ข้อจํากัด:

1 <= n <= 100
1 <= nums[i] <= 10^4
1 <= k <= 100

คุณจะได้รับอาร์เรย์จำนวนเต็ม nums ที่มีความยาว n และจำนวนเต็มบวก k
กำลังของอาร์เรย์จำนวนเต็มถูกกำหนดให้เป็นจำนวนของลำดับย่อยที่มีผลรวมเท่ากับ k
ส่งคืนผลรวมของกำลังของลำดับย่อยทั้งหมดของ nums
เนื่องจากคำตอบอาจมีค่ามาก ให้ส่งคืนโมดูโล 10^9 + 7

ตัวอย่างที่ 1:

อินพุต: nums = [1,2,3], k = 3
เอาต์พุต: 6
คำอธิบาย:
มีลำดับย่อยของ nums 5 ลำดับที่มีกำลังไม่เป็นศูนย์:

ลำดับย่อย [1,2,3] มีลำดับย่อย 2 ลำดับที่ผลรวม == 3: [1,2,3] และ [1,2,3]
ลำดับย่อย [1,2,3] มีลำดับย่อย 1 ลำดับที่ผลรวม == 3: [1,2,3]
ลำดับย่อย [1,2,3] มีลำดับย่อย 1 ลำดับที่ผลรวม == 3: [1,2,3]
ลำดับย่อย [1,2,3] มีลำดับย่อย 1 ลำดับที่ผลรวม == 3: [1,2,3]
ลำดับย่อย [1,2,3] มีลำดับย่อย 1 ลำดับที่ผลรวม == 3: [1,2,3]

ดังนั้นคำตอบคือ 2 + 1 + 1 + 1 + 1 = 6

ตัวอย่างที่ 2:

อินพุต: nums = [2,3,3], k = 5
เอาต์พุต: 4
คำอธิบาย:
มี 3 ลำดับย่อยของ nums ที่มีเลขยกกำลังไม่เป็นศูนย์:

ลำดับย่อย [2,3,3] มี 2 ลำดับที่ผลรวม == 5: [2,3,3] และ [2,3,3] ลำดับย่อย [2,3,3] มีลำดับย่อย 1 ลำดับที่ผลรวม == 5: [2,3,3]
ลำดับย่อย [2,3,3] มีลำดับย่อย 1 ลำดับที่ผลรวม == 5: [2,3,3]

ดังนั้นคำตอบคือ 2 + 1 + 1 = 4

ตัวอย่างที่ 3:

อินพุต: nums = [1,2,3], k = 7
เอาต์พุต: 0
คำอธิบาย: ไม่มีลำดับย่อยที่ผลรวม 7 ดังนั้นลำดับย่อยทั้งหมดของ nums จึงมีกําลัง = 0

ข้อจำกัด:

1 <= n <= 100
1 <= nums[i] <= 10^4
1 <= k <= 100


ให้คุณกำหนดอาร์เรย์ nums ที่มีเลขจำนวนเต็มที่ไม่เป็นลบ และเลขจำนวนเต็ม k
อาร์เรย์จะเรียกว่า "พิเศษ" ถ้าค่าของ bitwise OR จากทุกสมาชิกของมันมีค่ามากกว่าหรือเท่ากับ k
จงคืนค่าความยาวของอาร์เรย์ย่อยที่ไม่ว่างและ "พิเศษ" ที่สั้นที่สุดใน nums หรือคืนค่า -1 ถ้าไม่มีอาร์เรย์ย่อยที่ "พิเศษ" อยู่เลย

ตัวอย่างที่ 1:

Input: nums = [1,2,3], k = 2
Output: 1
คำอธิบาย:
อาร์เรย์ย่อย [3] มีค่า OR เท่ากับ 3 ดังนั้นเราจึงคืนค่า 1

ตัวอย่างที่ 2:

Input: nums = [2,1,8], k = 10
Output: 3
คำอธิบาย:
อาร์เรย์ย่อย [2,1,8] มีค่า OR เท่ากับ 11 ดังนั้นเราจึงคืนค่า 3

ตัวอย่างที่ 3:

Input: nums = [1,2], k = 0
Output: 1
คำอธิบาย:
อาร์เรย์ย่อย [1] มีค่า OR เท่ากับ 1 ดังนั้นเราจึงคืนค่า 1

ข้อจำกัด:

1 <= nums.length <= 50
0 <= nums[i] <= 50
0 <= k < 64

คุณจะได้รับอาร์เรย์จำนวนเต็มที่ไม่เป็นลบและจำนวนเต็ม k
อาร์เรย์เรียกว่าพิเศษถ้าตามการ OR บิตต่อบิตขององค์ประกอบทั้งหมดของมันอย่างน้อย k
ส่งคืนความยาวของ subarray ที่ไม่ว่างเปล่าพิเศษที่สั้นที่สุดของ nums หรือส่งคืน -1 หากไม่มี subarray พิเศษ

ตัวอย่างที่ 1:

อินพุต: nums = [1,2,3], k = 2
เอาท์พุท: 1
คำอธิบาย:
subarray [3] มีค่า OR 3 ดังนั้นเรากลับ 1

ตัวอย่างที่ 2:

อินพุต: nums = [2,1,8], k = 10
เอาท์พุท: 3
คำอธิบาย:
subarray [2,1,8] มีค่า OR 11 ดังนั้นเรากลับ 3

ตัวอย่างที่ 3:

อินพุต: nums = [1,2], k = 0
เอาท์พุท: 1
คำอธิบาย:
subarray [1] มีค่า OR 1 ดังนั้นเรากลับ 1

ข้อ จำกัด :

1 <= nums.length <= 50
0 <= nums [i] <= 50
0 <= K <64

คุณจะได้รับอาร์เรย์จำนวนเต็มที่ไม่เป็นลบและจำนวนเต็ม k
อาร์เรย์จะถูกเรียกว่าพิเศษถ้าค่า OR ตามบิตขององค์ประกอบทั้งหมดมีค่าอย่างน้อย k
ส่งคืนความยาวของซับอาร์เรย์พิเศษที่ไม่ว่างที่สั้นที่สุดของจำนวน หรือส่งคืน -1 ถ้าไม่มีซับอาร์เรย์พิเศษอยู่

ตัวอย่างที่ 1:

อินพุต: nums = [1,2,3], k = 2
เอาต์พุต: 1
คำอธิบาย:
ซับอาร์เรย์ [3] มีค่า OR เท่ากับ 3 ดังนั้น เราจึงส่งคืน 1

ตัวอย่างที่ 2:

อินพุต: nums = [2,1,8], k = 10
เอาต์พุต: 3
คำอธิบาย:
ซับอาร์เรย์ [2,1,8] มีค่า OR เท่ากับ 11 ดังนั้น เราจึงส่งคืน 3

ตัวอย่างที่ 3:

อินพุต: nums = [1,2], k = 0
เอาต์พุต: 1
คำอธิบาย:
ซับอาร์เรย์ [1] มีค่า OR เท่ากับ 1 ดังนั้น เราจึงส่งคืน 1

ข้อจำกัด:

1 <= nums.length <= 50
0 <= nums[i] <= 50
0 <= k < 64


คุณจะได้รับอาร์เรย์ไบนารีที่เป็นไปได้ซึ่งมีความยาว n
Alice และ Bob กำลังเล่นเกมที่มี n เลเวล บางเลเวลในเกมนั้นไม่สามารถเคลียร์ได้ ในขณะที่บางเลเวลสามารถเคลียร์ได้เสมอ โดยเฉพาะอย่างยิ่ง หาก possible[i] == 0 แสดงว่าผู้เล่นทั้งสองคนไม่สามารถเคลียร์เลเวลที่ i ได้ ผู้เล่นจะได้รับ 1 แต้มเมื่อเคลียร์เลเวลได้ และจะเสีย 1 แต้มหากเคลียร์ไม่สำเร็จ
ในช่วงเริ่มต้นของเกม Alice จะเล่นบางเลเวลตามลำดับที่กำหนดโดยเริ่มจากเลเวลที่ 0 จากนั้น Bob จะเล่นต่อในเลเวลที่เหลือ
Alice ต้องการทราบจำนวนเลเวลขั้นต่ำที่ Alice ควรเล่นเพื่อรับแต้มมากกว่า Bob หากผู้เล่นทั้งสองคนเล่นอย่างเหมาะสมเพื่อให้ได้แต้มสูงสุด
ส่งคืนจำนวนเลเวลขั้นต่ำที่ Alice ควรเล่นเพื่อรับแต้มมากขึ้น หากทำไม่ได้ ให้ส่งคืน -1

โปรดทราบว่าผู้เล่นแต่ละคนต้องเล่นอย่างน้อย 1 เลเวล

ตัวอย่างที่ 1:

อินพุต: possible = [1,0,1,0]
เอาต์พุต: 1
คำอธิบาย:
มาดูเลเวลทั้งหมดที่ Alice สามารถเล่นได้จนถึง:

หาก Alice เล่นเฉพาะเลเวล 0 และ Bob เล่นเลเวลที่เหลือ Alice จะได้ 1 แต้ม ในขณะที่ Bob จะได้ -1 + 1 - 1 = -1 แต้ม

หาก Alice เล่นจนถึงเลเวล 1 และ Bob เล่นเลเวลที่เหลือ Alice จะได้ 1 - 1 = 0 แต้ม ในขณะที่ Bob จะได้ 1 - 1 = 0 แต้ม

หาก Alice เล่นจนถึงเลเวล 2 และ Bob เล่นเลเวลที่เหลือ Alice จะได้ 1 - 1 + 1 = 1 แต้ม ในขณะที่ Bob จะได้ -1 แต้ม

Alice ต้องเล่นอย่างน้อย 1 เลเวลจึงจะได้แต้มเพิ่ม
ตัวอย่างที่ 2:

อินพุต: possible = [1,1,1,1,1]
เอาต์พุต: 3
คำอธิบาย:
มาดูเลเวลทั้งหมดที่ Alice สามารถเล่นได้จนถึง:

หาก Alice เล่นเฉพาะเลเวล 0 และ Bob เล่นเลเวลที่เหลือ Alice จะได้ 1 แต้ม ในขณะที่ Bob จะได้ 4 แต้ม
หาก Alice เล่นจนถึงเลเวล 1 และ Bob เล่นเลเวลที่เหลือ Alice จะได้ 2 แต้ม ในขณะที่ Bob จะได้ 3 แต้ม
หาก Alice เล่นจนถึงเลเวล 2 และ Bob เล่นเลเวลที่เหลือ Alice จะได้ 3 แต้ม ในขณะที่ Bob จะได้ 2 แต้ม
หาก Alice เล่นจนถึงเลเวล 3 และ Bob เล่นเลเวลที่เหลือ Alice จะได้ 4 แต้ม ในขณะที่ Bob จะได้ 1 แต้ม

Alice ต้องเล่นอย่างน้อย 3 เลเวลจึงจะได้แต้มเพิ่ม

ตัวอย่างที่ 3:

อินพุต: possible = [0,0]
เอาต์พุต: -1
คำอธิบาย:
วิธีเดียวที่เป็นไปได้คือผู้เล่นทั้งสองคนต้องเล่นคนละ 1 เลเวล Alice เล่นเลเวล 0 และเสีย 1 แต้ม บ็อบเล่นเลเวล 1 และเสีย 1 แต้ม เนื่องจากผู้เล่นทั้งสองมีแต้มเท่ากัน อลิซจึงได้แต้มมากกว่าบ็อบไม่ได้

เงื่อนไข:

2 <= n == possible.length <= 10^5
possible[i] มีค่าเป็น 0 หรือ 1

คุณจะได้รับอาร์เรย์ไบนารีที่เป็นไปได้ที่ความยาว n
อลิซและบ๊อบกำลังเล่นเกมที่ประกอบด้วยระดับ N บางระดับในเกมเป็นไปไม่ได้ที่จะชัดเจนในขณะที่คนอื่นสามารถล้างได้เสมอ โดยเฉพาะอย่างยิ่งถ้าเป็นไปได้ [i] == 0 ดังนั้นระดับ i^th นั้นเป็นไปไม่ได้ที่จะล้างสำหรับผู้เล่นทั้งสอง ผู้เล่นได้รับ 1 คะแนนในการล้างระดับและสูญเสีย 1 คะแนนหากผู้เล่นไม่สามารถล้างได้
ในช่วงเริ่มต้นของเกมอลิซจะเล่นบางระดับในลำดับที่กำหนดเริ่มต้นจากระดับ 0^th หลังจากนั้นบ๊อบจะเล่นตลอดระดับที่เหลือ
อลิซต้องการทราบจำนวนระดับต่ำสุดที่เธอควรเล่นเพื่อให้ได้คะแนนมากกว่าบ๊อบหากผู้เล่นทั้งสองเล่นได้อย่างเหมาะสมเพื่อเพิ่มคะแนนสูงสุด
ส่งคืนจำนวนขั้นต่ำของระดับที่อลิซควรเล่นเพื่อให้ได้คะแนนมากขึ้น หากเป็นไปไม่ได้ให้ส่งคืน -1
โปรดทราบว่าผู้เล่นแต่ละคนต้องเล่นอย่างน้อย 1 ระดับ

ตัวอย่างที่ 1:

อินพุต: เป็นไปได้ = [1,0,1,0]
เอาท์พุท: 1
คำอธิบาย:
มาดูทุกระดับที่อลิซสามารถเล่นได้มากขึ้น:

หากอลิซเล่นเพียงระดับ 0 และบ๊อบเล่นส่วนที่เหลือของระดับอลิซมี 1 คะแนนในขณะที่บ๊อบมี -1 + 1 -1 = -1 จุด
หากอลิซเล่นจนถึงระดับ 1 และบ๊อบเล่นส่วนที่เหลือของระดับอลิซมี 1 - 1 = 0 คะแนนในขณะที่บ๊อบมี 1 - 1 = 0 คะแนน
หากอลิซเล่นจนถึงระดับ 2 และบ๊อบเล่นส่วนที่เหลือของระดับอลิซมี 1 - 1 + 1 = 1 จุดในขณะที่บ๊อบมีจุด -1

อลิซต้องเล่นอย่างน้อย 1 ระดับเพื่อให้ได้คะแนนมากขึ้น

ตัวอย่างที่ 2:

อินพุต: possible = [1,1,1,1,1]
เอาท์พุท: 3
คำอธิบาย:
มาดูทุกระดับที่อลิซสามารถเล่นได้มากขึ้น:

หากอลิซเล่นเพียงระดับ 0 และบ๊อบเล่นส่วนที่เหลือของระดับอลิซมี 1 คะแนนในขณะที่บ๊อบมี 4 คะแนน
หากอลิซเล่นจนถึงระดับ 1 และบ๊อบเล่นส่วนที่เหลือของระดับอลิซมี 2 คะแนนในขณะที่บ๊อบมี 3 คะแนน
หากอลิซเล่นจนถึงระดับ 2 และบ๊อบเล่นส่วนที่เหลือของระดับอลิซมี 3 คะแนนในขณะที่บ๊อบมี 2 คะแนน
หากอลิซเล่นจนถึงระดับ 3 และบ๊อบเล่นส่วนที่เหลือของระดับอลิซมี 4 คะแนนในขณะที่บ๊อบมี 1 คะแนน

อลิซต้องเล่นอย่างน้อย 3 ระดับเพื่อให้ได้คะแนนมากขึ้น

ตัวอย่างที่ 3:

อินพุต: possible = [0,0]
เอาท์พุท: -1
คำอธิบาย:
วิธีเดียวที่เป็นไปได้คือให้ผู้เล่นทั้งสองเล่น 1 ระดับ อลิซเล่นระดับ 0 และสูญเสีย 1 คะแนน บ๊อบเล่นระดับ 1 และสูญเสีย 1 คะแนน เนื่องจากผู้เล่นทั้งสองมีคะแนนเท่ากันอลิซไม่สามารถได้คะแนนมากกว่าบ๊อบ

ข้อ จำกัด :

2 <= n == possible.length <= 10^5
เป็นไปได้ [i] คือ 0 หรือ 1

คุณมอบอาเรย์ไบนารีชื่อ possible ที่มีความยาว n

Alice และ Bob กำลังเล่นเกมซึ่งประกอบด้วย n ระดับ บางระดับของเกมไม่สามารถผ่านได้ในขณะที่ระดับอื่นๆ สามารถผ่านได้เสมอ โดยเฉพาะอย่างยิ่งถ้า possible[i] == 0 ระดับที่  i^th จะไม่สามารถผ่านได้สำหรับทั้งผู้เล่น ผู้เล่นจะได้รับ 1 คะแนนหากผ่านระดับนั้น และจะเสีย 1 คะแนนหากไม่สามารถผ่านได้

เมื่อเริ่มเกม Alice จะเล่นบางระดับในลำดับที่กำหนดเริ่มต้นจากระดับที่ 0^th หลังจากนั้น Bob จะเล่นในระดับที่เหลือ

Alice ต้องการทราบจำนวนขั้นต่ำของระดับที่เธอควรเล่นเพื่อให้ได้คะแนนมากกว่า Bob หากทั้งสองผู้เล่นเล่นอย่างเต็มที่เพื่อเพิ่มคะแนนของพวกเขา

ส่งคืนจำนวนขั้นต่ำของระดับที่ Alice ควรเล่นเพื่อให้ได้คะแนนมากขึ้น หากไม่สามารถทำได้ ให้ส่งคืน -1

โปรดทราบว่าผู้เล่นแต่ละคนต้องเล่นอย่างน้อย 1 ระดับ

ตัวอย่างที่ 1:

Input: possible = [1,0,1,0]
Output: 1
คำอธิบาย:
ดูระดับทั้งหมดที่ Alice สามารถเล่นได้สูงสุด:

ถ้า Alice เล่นเพียงระดับ 0 และ Bob เล่นระดับที่เหลือ Alice มี 1 คะแนน ในขณะที่ Bob มี -1 + 1 - 1 = -1 คะแนน
ถ้า Alice เล่นจนถึงระดับ 1 และ Bob เล่นระดับที่เหลือ Alice มี 1 - 1 = 0 คะแนน ในขณะที่ Bob มี 1 - 1 = 0 คะแนน
ถ้า Alice เล่นจนถึงระดับ 2 และ Bob เล่นระดับที่เหลือ Alice มี 1 - 1 + 1 = 1 คะแนน ในขณะที่ Bob มี -1 คะแนน

Alice ต้องเล่นอย่างน้อย 1 ระดับเพื่อได้คะแนนมากขึ้น

ตัวอย่างที่ 2:

Input: possible = [1,1,1,1,1]
Output: 3
คำอธิบาย:
ดูระดับทั้งหมดที่ Alice สามารถเล่นได้สูงสุด:

ถ้า Alice เล่นเพียงระดับ 0 และ Bob เล่นระดับที่เหลือ Alice มี 1 คะแนน ในขณะที่ Bob มี 4 คะแนน
ถ้า Alice เล่นจนถึงระดับ 1 และ Bob เล่นระดับที่เหลือ Alice มี 2 คะแนน ในขณะที่ Bob มี 3 คะแนน
ถ้า Alice เล่นจนถึงระดับ 2 และ Bob เล่นระดับที่เหลือ Alice มี 3 คะแนน ในขณะที่ Bob มี 2 คะแนน
ถ้า Alice เล่นจนถึงระดับ 3 และ Bob เล่นระดับที่เหลือ Alice มี 4 คะแนน ในขณะที่ Bob มี 1 คะแนน

Alice ต้องเล่นอย่างน้อย 3 ระดับเพื่อได้คะแนนมากขึ้น

ตัวอย่างที่ 3:

Input: possible = [0,0]
Output: -1
คำอธิบาย:
วิธีการที่เป็นไปได้เพียงอย่างเดียวคือผู้เล่นทั้งสองต้องเล่น 1 ระดับ Alice เล่นระดับ 0 และเสีย 1 คะแนน Bob เล่นระดับ 1 และเสีย 1 คะแนน เนื่องจากผู้เล่นทั้งสองมีคะแนนเท่ากัน Alice ไม่สามารถได้คะแนนมากกว่า Bob

ข้อจำกัด:

2 <= n == possible.length <= 10^5
possible[i] คือ 0 หรือ 1


คุณจะได้รับอาร์เรย์จำนวนเต็ม nums ที่มีความยาว n และจำนวนเต็มบวก k
กำลังของลำดับย่อยถูกกำหนดให้เป็นความแตกต่างสัมบูรณ์ขั้นต่ำระหว่างสององค์ประกอบใดๆ ในลำดับย่อย
ส่งคืนผลรวมของกำลังของลำดับย่อยทั้งหมดของ nums ที่มีความยาวเท่ากับ k
เนื่องจากคำตอบอาจมาก ให้ส่งคืนโมดูโล 10^9 + 7

ตัวอย่างที่ 1:

อินพุต: nums = [1,2,3,4], k = 3
เอาต์พุต: 4
คำอธิบาย:
มีลำดับย่อย 4 รายการใน nums ที่มีความยาว 3: [1,2,3], [1,3,4], [1,2,4] และ [2,3,4] ผลรวมของกำลังคือ |2 - 3| + |3 - 4| + |2 - 1| + |3 - 4| = 4.

ตัวอย่างที่ 2:

อินพุต: nums = [2,2], k = 2
เอาต์พุต: 0
คำอธิบาย:
ลำดับย่อยใน nums ที่มีความยาว 2 มีลำดับเดียวคือ [2,2] ผลรวมของกำลังคือ |2 - 2| = 0

ตัวอย่างที่ 3:

อินพุต: nums = [4,3,-1], k = 2
เอาต์พุต: 10
คำอธิบาย:
มีลำดับย่อย 3 ลำดับใน nums ที่มีความยาว 2 ได้แก่ [4,3], [4,-1] และ [3,-1] ผลรวมของกำลังคือ |4 - 3| + |4 - (-1)| + |3 - (-1)| = 10.

ข้อจำกัด:

2 <= n == nums.length <= 50
-10^8 <= nums[i] <= 10^8
2 <= k <= n

ให้คุณอาร์เรย์ของจำนวนเต็ม `nums` ที่มีความยาว `n` และจำนวนเต็มบวก `k`
พลังของอนุกรมย่อยถูกกำหนดเป็นความแตกต่างสัมบูรณ์ขั้นต่ำระหว่างสองสมาชิกใด ๆ ในอนุกรมย่อย
ส่งคืนผลรวมของพลังของอนุกรมย่อยทั้งหมดของ `nums` ที่มีความยาวเท่ากับ `k`
เนื่องจากคำตอบอาจมาก ให้ส่งคืนแบบโมดูล 10^9 + 7

ตัวอย่างที่ 1:

Input: nums = [1,2,3,4], k = 3
Output: 4
คำอธิบาย:
มี 4 อนุกรมย่อยใน `nums` ที่มีความยาว 3: [1,2,3], [1,3,4], [1,2,4], และ [2,3,4] ผลรวมของพลังคือ |2 - 3| + |3 - 4| + |2 - 1| + |3 - 4| = 4

ตัวอย่างที่ 2:

Input: nums = [2,2], k = 2
Output: 0
คำอธิบาย:
อนุกรมย่อยเดียวใน `nums` ที่มีความยาว 2 คือ [2,2] ผลรวมของพลังคือ |2 - 2| = 0

ตัวอย่างที่ 3:

Input: nums = [4,3,-1], k = 2
Output: 10
คำอธิบาย:
มี 3 อนุกรมย่อยใน `nums` ที่มีความยาว 2: [4,3], [4,-1], และ [3,-1] ผลรวมของพลังคือ |4 - 3| + |4 - (-1)| + |3 - (-1)| = 10

ข้อจำกัด:

2 <= n == nums.length <= 50
-10^8 <= nums[i] <= 10^8
2 <= k <= n


คุณได้รับสตริง s คะแนนของสตริงถูกกำหนดให้เป็นผลรวมของความแตกต่างสัมบูรณ์ระหว่างค่า ASCII ของตัวอักษรที่อยู่ติดกัน คืนค่าคะแนนของ s.

ตัวอย่างที่ 1:

Input: s = "hello"
Output: 13
คำอธิบาย:
ค่าของ ASCII ของตัวอักษรใน s คือ: 'h' = 104, 'e' = 101, 'l' = 108, 'o' = 111 ดังนั้น คะแนนของ s จะเท่ากับ |104 - 101| + |101 - 108| + |108 - 108| + |108 - 111| = 3 + 7 + 0 + 3 = 13.

ตัวอย่างที่ 2:

Input: s = "zaz"
Output: 50
คำอธิบาย:
ค่าของ ASCII ของตัวอักษรใน s คือ: 'z' = 122, 'a' = 97 ดังนั้น คะแนนของ s จะเท่ากับ |122 - 97| + |97 - 122| = 25 + 25 = 50.

ข้อจำกัด:

2 <= s.length <= 100
s ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น

คุณจะได้รับสตริง s คะแนนของสตริงถูกกำหนดให้เป็นผลรวมของความแตกต่างสัมบูรณ์ระหว่างค่า ASCII ของอักขระที่อยู่ติดกัน
ส่งกลับคะแนนของ s

ตัวอย่างที่ 1:

อินพุต: s = "hello"
เอาต์พุต: 13
คำอธิบาย:
ค่า ASCII ของอักขระใน s คือ: 'h' = 104, 'e' = 101, 'l' = 108, 'o' = 111 ดังนั้นคะแนนของ s จะเป็น |104 - 101| + |101 - 108| + |108 - 108| + |108 - 111| = 3 + 7 + 0 + 3 = 13

ตัวอย่างที่ 2:

อินพุต: s = "zaz"
เอาต์พุต: 50
คำอธิบาย:
ค่า ASCII ของอักขระใน s คือ: 'z' = 122, 'a' = 97 ดังนั้นคะแนนของ s จะเป็น |122 - 97| + |97 - 122| = 25 + 25 = 50

ข้อจำกัด:

2 <= s.length <= 100
s ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น

คุณได้รับสตริง คะแนนของสตริงถูกกำหนดเป็นผลรวมของความแตกต่างสัมบูรณ์ระหว่างค่า ASCII ของอักขระที่อยู่ติดกัน
คืนคะแนนของ s

ตัวอย่างที่ 1:

อินพุต:s = "hello"
เอาท์พุท: 13
คำอธิบาย:
ค่า ASCII ของอักขระใน s คือ: 'h' = 104, 'e' = 101, 'l' = 108, 'o' = 111 ดังนั้นคะแนนของ S จะเป็น | 104 - 101 | + | 101 - 108 | + | 108 - 108 | + | 108 - 111 | = 3 + 7 + 0 + 3 = 13

ตัวอย่างที่ 2:

อินพุต: s = "zaz"
เอาท์พุท: 50
คำอธิบาย:
ค่า ASCII ของอักขระใน S คือ: 'z' = 122, 'a' = 97 ดังนั้นคะแนนของ S จะเป็น | 122 - 97 | + | 97 - 122 | = 25 + 25 = 50

ข้อ จำกัด :

2 <= s.length <= 100
s ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น


คุณจะได้รับอาร์เรย์ของจำนวนเต็มบวก nums
ส่งคืนจำนวนอาร์เรย์ย่อยของ nums โดยที่องค์ประกอบแรกและองค์ประกอบสุดท้ายของอาร์เรย์ย่อยจะเท่ากับองค์ประกอบที่ใหญ่ที่สุดในอาร์เรย์ย่อย

ตัวอย่าง 1:

อินพุต: nums = [1,4,3,3,2]
เอาต์พุต: 6
คำอธิบาย:
มีซับอาร์เรย์ 6 ซับอาร์เรย์ที่มีองค์ประกอบแรกและองค์ประกอบสุดท้ายเท่ากับองค์ประกอบที่ใหญ่ที่สุดของซับอาร์เรย์:

ซับอาร์เรย์ [1,4,3,3,2] โดยมีองค์ประกอบที่ใหญ่ที่สุดคือ 1 องค์ประกอบแรกคือ 1 และองค์ประกอบสุดท้ายคือ 1 เช่นกัน
ซับอาร์เรย์ [1,4,3,3,2] โดยมีองค์ประกอบที่ใหญ่ที่สุดคือ 4 องค์ประกอบแรกคือ 4 และองค์ประกอบสุดท้ายคือ 4 เช่นกัน
ซับอาร์เรย์ [1,4,3,3,2] โดยมีองค์ประกอบที่ใหญ่ที่สุดคือ 3 องค์ประกอบแรกคือ 3 และองค์ประกอบสุดท้ายคือ 3 เช่นกัน
ซับอาร์เรย์ [1,4,3,3,2] โดยมีองค์ประกอบที่ใหญ่ที่สุดคือ 3 องค์ประกอบแรกคือ 3 และองค์ประกอบสุดท้ายคือ 3 เช่นกัน
ซับอาร์เรย์ [1,4,3,3,2] โดยมีองค์ประกอบที่ใหญ่ที่สุดคือ 2 องค์ประกอบแรกคือ 2 และองค์ประกอบสุดท้ายก็เป็น 2 เช่นกัน
subarray [1,4,3,3,2] โดยมีองค์ประกอบที่ใหญ่ที่สุดคือ 3 องค์ประกอบแรกคือ 3 และองค์ประกอบสุดท้ายคือ 3 เช่นกัน

ดังนั้น เราจะส่งคืน 6

ตัวอย่างที่ 2:

อินพุต: nums = [3,3,3]
เอาต์พุต: 6
คำอธิบาย:
มี 6 ซับอาร์เรย์ซึ่งมีองค์ประกอบแรกและองค์ประกอบสุดท้ายเท่ากับองค์ประกอบที่ใหญ่ที่สุดของซับอาร์เรย์:

subarray [3,3,3] โดยมีองค์ประกอบที่ใหญ่ที่สุดคือ 3 องค์ประกอบแรกคือ 3 และองค์ประกอบสุดท้ายคือ 3 เช่นกัน
subarray [3,3,3] โดยมีองค์ประกอบที่ใหญ่ที่สุดคือ 3 องค์ประกอบแรกคือ 3 และองค์ประกอบสุดท้ายคือ 3 เช่นกัน
subarray [3,3,3] โดยมีองค์ประกอบที่ใหญ่ที่สุดคือ 3 องค์ประกอบแรกคือ 3 และองค์ประกอบสุดท้ายคือ 3 เช่นกัน
subarray [3,3,3] โดยมีองค์ประกอบที่ใหญ่ที่สุดคือ 3 องค์ประกอบแรกคือ 3 และองค์ประกอบสุดท้ายคือ 3 เช่นกัน
subarray [3,3,3] โดยมีองค์ประกอบที่ใหญ่ที่สุดคือ 3 องค์ประกอบแรกคือ 3 และองค์ประกอบสุดท้ายคือ 3 เช่นกัน องค์ประกอบคือ 3 และองค์ประกอบสุดท้ายคือ 3 เช่นกัน
subarray [3,3,3] โดยมีองค์ประกอบที่ใหญ่ที่สุดคือ 3 องค์ประกอบแรกคือ 3 และองค์ประกอบสุดท้ายคือ 3 เช่นกัน
subarray [3,3,3] โดยมีองค์ประกอบที่ใหญ่ที่สุดคือ 3 องค์ประกอบแรกคือ 3 และองค์ประกอบสุดท้ายคือ 3 เช่นกัน

ดังนั้น เราจึงส่งคืน 6

ตัวอย่างที่ 3:

อินพุต: nums = [1]
เอาต์พุต: 1
คำอธิบาย:
มีซับอาร์เรย์เดียวของ nums ซึ่งคือ [1] โดยมีองค์ประกอบที่ใหญ่ที่สุดคือ 1 องค์ประกอบแรกคือ 1 และองค์ประกอบสุดท้ายคือ 1 เช่นกัน
ดังนั้น เราจึงส่งคืน 1

ข้อจำกัด:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^9


คุณได้รับสตริงคำหนึ่ง คำว่า "ตัวอักษรพิเศษ" จะหมายถึงตัวอักษรที่ปรากฏทั้งในรูปแบบตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ในคำนี้
คืนจำนวนตัวอักษรพิเศษในคำ

ตัวอย่างที่ 1:

Input: word = "aaAbcBC"
Output: 3
คำอธิบาย:
อักขระพิเศษในคำคือ 'a', 'b' และ 'c'

ตัวอย่างที่ 2:

Input: word = "abc"
Output: 0
คำอธิบาย:
ไม่มีตัวอักษรในคำใดที่ปรากฏในรูปแบบตัวพิมพ์ใหญ่

ตัวอย่างที่ 3:

Input: word = "abBCab"
Output: 1
คำอธิบาย:
อักขระพิเศษเพียงตัวเดียวในคำคือ 'b'

ข้อจำกัด:

1 <= word.length <= 50
คำว่า "word" ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เท่านั้น

คุณจะได้รับคำสตริง ตัวอักษรจะถูกเรียกว่าพิเศษหากปรากฏในทั้งตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ใน Word
ส่งคืนจำนวนตัวอักษรพิเศษใน Word

ตัวอย่างที่ 1:

อินพุต: word = "aaAbcBC"
เอาต์พุต: 3
คำอธิบาย:
อักขระพิเศษใน Word คือ 'a', 'b' และ 'c'

ตัวอย่างที่ 2:

อินพุต: word = "abc"
เอาต์พุต: 0
คำอธิบาย:
ไม่มีอักขระใดใน Word ปรากฏในตัวพิมพ์ใหญ่

ตัวอย่างที่ 3:

อินพุต: word = "abBCab"
เอาต์พุต: 1
คำอธิบาย:
อักขระพิเศษเพียงตัวเดียวใน Word คือ 'b'

ข้อจำกัด:

1 <= word.length <= 50
Word ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เท่านั้น

คุณจะได้รับคําสตริง ตัวอักษรจะเรียกว่าพิเศษหากปรากฏทั้งตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ในคํา
ส่งคืนจํานวนตัวอักษรพิเศษในคํา

ตัวอย่างที่ 1:

อินพุต: word = "aaAbcBC"
เอาท์พุต: 3
การอธิบาย:
อักขระพิเศษในคําคือ 'a', 'b' และ 'c'

ตัวอย่างที่ 2:

อินพุต: คํา = "abc"
เอาท์พุต: 0
การอธิบาย:
ไม่มีอักขระในคําปรากฏเป็นตัวพิมพ์ใหญ่

ตัวอย่างที่ 3:

อินพุต: word = "abBCab"
เอาท์พุต: 1
การอธิบาย:
อักขระพิเศษเพียงอย่างเดียวในคําคือ 'b'

ข้อจํากัด:

1 <= word.length <= 50
word ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เท่านั้น


คุณจะได้รับอาร์เรย์สองชุดที่มีความยาวเท่ากัน คือ nums1 และ nums2
องค์ประกอบแต่ละชุดใน nums1 จะเพิ่มขึ้น (หรือลดลงในกรณีที่เป็นค่าลบ) ด้วยจำนวนเต็ม ซึ่งแสดงด้วยตัวแปร x
ผลลัพธ์คือ nums1 จะเท่ากับ nums2 อาร์เรย์สองชุดถือว่าเท่ากันเมื่อมีจำนวนเต็มเดียวกันที่มีความถี่เท่ากัน
ส่งคืนจำนวนเต็ม x

ตัวอย่างที่ 1:

อินพุต: nums1 = [2,6,4], nums2 = [9,7,5]
เอาต์พุต: 3
คำอธิบาย:
จำนวนเต็มที่เพิ่มให้กับแต่ละองค์ประกอบของ nums1 คือ 3

ตัวอย่างที่ 2:

อินพุต: nums1 = [10], nums2 = [5]
เอาต์พุต: -5
คำอธิบาย:
จำนวนเต็มที่เพิ่มให้กับแต่ละองค์ประกอบของ nums1 คือ -5

ตัวอย่างที่ 3:

อินพุต: nums1 = [1,1,1,1], nums2 = [1,1,1,1]
เอาต์พุต: 0
คำอธิบาย:
จำนวนเต็มที่เพิ่มให้กับแต่ละองค์ประกอบของ nums1 คือ 0

ข้อจำกัด:

1 <= nums1.length == nums2.length <= 100
0 <= nums1[i], nums2[i] <= 1000
กรณีทดสอบจะถูกสร้างขึ้นในลักษณะที่มีจำนวนเต็ม x ที่ทำให้ nums1 เท่ากับ nums2 ได้โดยการเพิ่ม x ให้กับแต่ละองค์ประกอบของ nums1

คุณจะได้รับอาร์เรย์สองอาร์เรย์ที่มีความยาวเท่ากัน nums1 และ nums2
แต่ละองค์ประกอบใน nums1 เพิ่มขึ้น (หรือลดลงในกรณีของค่าลบ) ด้วยจํานวนเต็มซึ่งแสดงด้วยตัวแปร x
ส่งผลให้ nums1 เท่ากับ nums2 อาร์เรย์สองอาร์เรย์จะถือว่าเท่ากันเมื่อมีจํานวนเต็มเดียวกันที่มีความถี่เท่ากัน
ส่งกลับจํานวนเต็ม x

ตัวอย่างที่ 1:

อินพุต: nums1 = [2,6,4], nums2 = [9,7,5]
เอาท์พุต: 3
การอธิบาย:
จํานวนเต็มที่เพิ่มในแต่ละองค์ประกอบของ nums1 คือ 3

ตัวอย่างที่ 2:

อินพุต: nums1 = [10], nums2 = [5]
เอาท์พุต: -5
การอธิบาย:
จํานวนเต็มที่เพิ่มในแต่ละองค์ประกอบของ nums1 คือ -5

ตัวอย่างที่ 3:

อินพุต: nums1 = [1,1,1,1], nums2 = [1,1,1,1]
เอาท์พุต: 0
การอธิบาย:
จํานวนเต็มที่เพิ่มในแต่ละองค์ประกอบของ nums1 คือ 0

ข้อจํากัด:

1 <= nums1.length == nums2.length <= 100
0 <= nums1[i], nums2[i] <= 1000
กรณีทดสอบถูกสร้างขึ้นในลักษณะที่มีจํานวนเต็ม x เพื่อให้ nums1 สามารถเท่ากับ nums2 ได้โดยการเพิ่ม x ในแต่ละองค์ประกอบของ nums1


คุณได้รับจำนวนเต็มสองจำนวนคือ n และ x คุณต้องสร้างอาร์เรย์ของจำนวนเต็มบวก nums ที่มีขนาด n โดยที่สำหรับทุกๆ 0 <= i < n - 1, nums[i + 1] จะมากกว่า nums[i] และผลลัพธ์ของการดำเนินการ AND ตามบิตระหว่างองค์ประกอบทั้งหมดของ nums คือ x
ส่งคืนค่าต่ำสุดที่เป็นไปได้ของ nums[n - 1]

ตัวอย่างที่ 1:

อินพุต: n = 3, x = 4
เอาต์พุต: 6
คำอธิบาย:
nums สามารถเป็น [4,5,6] และองค์ประกอบสุดท้ายคือ 6

ตัวอย่างที่ 2:

อินพุต: n = 2, x = 7
เอาต์พุต: 15
คำอธิบาย:
nums สามารถเป็น [7,15] และองค์ประกอบสุดท้ายคือ 15

ข้อจำกัด:

1 <= n, x <= 10^8

คุณจะได้รับสองจำนวนเต็ม n และ x คุณต้องสร้างอาร์เรย์ของจำนวนเต็มบวก nums ของขนาด n ที่ไหนสำหรับทุก 0 <= i <n - 1, nums [i + 1] มากกว่า nums [i] และผลลัพธ์ของ bitwise และการทำงานระหว่างองค์ประกอบทั้งหมด ของ nums คือ x

ตัวอย่างที่ 1:

อินพุต: n = 3, x = 4
เอาท์พุท: 6
คำอธิบาย:
nums สามารถเป็น [4,5,6] และองค์ประกอบสุดท้ายของมันคือ 6

ตัวอย่างที่ 2:

อินพุต: n = 2, x = 7
เอาท์พุท: 15
คำอธิบาย:
nums สามารถเป็น [7,15] และองค์ประกอบสุดท้ายของมันคือ 15

ข้อ จำกัด :

1 <= n, x <= 10^8


คุณได้รับอาร์เรย์จำนวนเต็ม nums อาร์เรย์ความเป็นเอกลักษณ์ของ nums คืออาร์เรย์ที่เรียงลำดับซึ่งประกอบด้วยจำนวนขององค์ประกอบที่แตกต่างกัน
ทั้งหมดในซับอาร์เรย์ของ nums กล่าวอีกนัยหนึ่ง มันคืออาร์เรย์ที่เรียงลำดับซึ่งประกอบด้วย distinct(nums[i..j]) สำหรับทุก 0 <= i <= j < nums.length
ที่นี่ distinct(nums[i..j]) หมายถึงจำนวนขององค์ประกอบที่แตกต่างกันในซับอาร์เรย์ที่เริ่มต้นที่ดัชนี i และสิ้นสุดที่ดัชนี j
ให้คืนค่ามัธยฐานของอาร์เรย์ความเป็นเอกลักษณ์ของ nums

หมายเหตุว่ามัธยฐานของอาร์เรย์ถูกกำหนดให้เป็นองค์ประกอบกลางของอาร์เรย์เมื่อมันถูกเรียงลำดับในลำดับที่ไม่ลดลง หากมีสองทางเลือกสำหรับมัธยฐาน จะเลือกค่าที่เล็กกว่าของสองค่า

ตัวอย่างที่ 1:

Input: nums = [1,2,3]
Output: 1
Explanation:
อาร์เรย์ความเป็นเอกลักษณ์ของ nums คือ [distinct(nums[0..0]), distinct(nums[1..1]), distinct(nums[2..2]), distinct(nums[0..1]), distinct(nums[1..2]), distinct(nums[0..2])] ซึ่งเท่ากับ [1, 1, 1, 2, 2, 3]. อาร์เรย์ความเป็นเอกลักษณ์มีค่ามัธยฐานเท่ากับ 1. ดังนั้นคำตอบคือ 1.

ตัวอย่างที่ 2:

Input: nums = [3,4,3,4,5]
Output: 2
Explanation:
อาร์เรย์ความเป็นเอกลักษณ์ของ nums คือ [1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3] อาร์เรย์ความเป็นเอกลักษณ์มีค่ามัธยฐานเป็น 2 ดังนั้นคำตอบคือ 2

ตัวอย่างที่ 3:

Input: nums = [4,3,5,4]
Output: 2
Explanation:
อาร์เรย์ความเป็นเอกลักษณ์ของ nums คือ [1, 1, 1, 1, 2, 2, 2, 3, 3, 3] อาร์เรย์ความเป็นเอกลักษณ์มีค่ามัธยฐานเท่ากับ 2 ดังนั้นคำตอบคือ 2

ข้อจำกัด:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^5

คุณจะได้รับอาร์เรย์จำนวนเต็ม nums อาร์เรย์ที่ไม่ซ้ำกันของ nums คืออาร์เรย์ที่เรียงลำดับซึ่งประกอบด้วยจำนวนองค์ประกอบที่แตกต่างกันของซับอาร์เรย์ทั้งหมดของ nums กล่าวอีกนัยหนึ่งก็คือเป็นอาร์เรย์ที่เรียงลำดับซึ่งประกอบด้วย distinct(nums[i..j]) สำหรับ 0 <= i <= j < nums.length ทั้งหมด
ในที่นี้ distinct(nums[i..j]) หมายถึงจำนวนองค์ประกอบที่แตกต่างกันในซับอาร์เรย์ซึ่งเริ่มต้นที่ดัชนี i และสิ้นสุดที่ดัชนี j
คืนค่ามัธยฐานของอาร์เรย์ที่ไม่ซ้ำกันของ nums
โปรดทราบว่ามัธยฐานของอาร์เรย์ถูกกำหนดให้เป็นองค์ประกอบตรงกลางของอาร์เรย์เมื่อเรียงลำดับในลำดับที่ไม่ลดลง หากมีตัวเลือกสองตัวเลือกสำหรับค่ามัธยฐาน ค่าที่น้อยกว่าของสองค่านั้นจะถูกนำมาใช้

ตัวอย่างที่ 1:

อินพุต: nums = [1,2,3]
เอาต์พุต: 1
คำอธิบาย:
อาร์เรย์ความไม่ซ้ำกันของ nums คือ [distinct(nums[0..0]), distinct(nums[1..1]), distinct(nums[2..2]), distinct(nums[0..1]), distinct(nums[1..2]), distinct(nums[0..2])] ซึ่งเท่ากับ [1, 1, 1, 2, 2, 3] อาร์เรย์ค่าเฉพาะมีค่ามัธยฐานเท่ากับ 1 ดังนั้น คำตอบคือ 1

ตัวอย่างที่ 2:

อินพุต: nums = [3,4,3,4,5]
เอาต์พุต: 2
คำอธิบาย:
อาร์เรย์ค่าเฉพาะตัวของ nums คือ [1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3] อาร์เรย์ค่าเฉพาะตัวมีค่ามัธยฐานเท่ากับ 2 ดังนั้น คำตอบคือ 2

ตัวอย่างที่ 3:

อินพุต: nums = [4,3,5,4]
เอาต์พุต: 2
คำอธิบาย:
อาร์เรย์ค่าเฉพาะตัวของ nums คือ [1, 1, 1, 1, 2, 2, 2, 3, 3, 3] อาร์เรย์ความไม่ซ้ำกันมีค่ามัธยฐานเท่ากับ 2 ดังนั้นคำตอบคือ 2

ข้อจำกัด:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^5

คุณจะได้รับอาร์เรย์จำนวนเต็ม nums อาร์เรย์ที่ไม่ซ้ำกันของ nums คืออาร์เรย์ที่เรียงลำดับซึ่งประกอบด้วยจำนวนองค์ประกอบที่แตกต่างกันของซับอาร์เรย์ทั้งหมดของ nums กล่าวอีกนัยหนึ่งก็คือเป็นอาร์เรย์ที่เรียงลำดับซึ่งประกอบด้วย distinct(nums[i..j]) สำหรับ 0 <= i <= j < nums.length ทั้งหมด
ในที่นี้ distinct(nums[i..j]) หมายถึงจำนวนองค์ประกอบที่แตกต่างกันในซับอาร์เรย์ซึ่งเริ่มต้นที่ดัชนี i และสิ้นสุดที่ดัชนี j
คืนค่ามัธยฐานของอาร์เรย์ที่ไม่ซ้ำกันของ nums
โปรดทราบว่ามัธยฐานของอาร์เรย์ถูกกำหนดให้เป็นองค์ประกอบตรงกลางของอาร์เรย์เมื่อเรียงลำดับในลำดับที่ไม่ลดลง หากมีตัวเลือกสองตัวเลือกสำหรับค่ามัธยฐาน ค่าที่น้อยกว่าของสองค่านั้นจะถูกนำมาใช้

ตัวอย่างที่ 1:

อินพุต: nums = [1,2,3]
เอาต์พุต: 1
คำอธิบาย:
อาร์เรย์ความไม่ซ้ำกันของ nums คือ [distinct(nums[0..0]), distinct(nums[1..1]), distinct(nums[2..2]), distinct(nums[0..1]), distinct(nums[1..2]), distinct(nums[0..2])] ซึ่งเท่ากับ [1, 1, 1, 2, 2, 3] อาร์เรย์ค่าเฉพาะมีค่ามัธยฐานเท่ากับ 1 ดังนั้น คำตอบคือ 1

ตัวอย่างที่ 2:

อินพุต: nums = [3,4,3,4,5]
เอาต์พุต: 2
คำอธิบาย:
อาร์เรย์ค่าเฉพาะตัวของ nums คือ [1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3] อาร์เรย์ค่าเฉพาะตัวมีค่ามัธยฐานเท่ากับ 2 ดังนั้น คำตอบคือ 2

ตัวอย่างที่ 3:

อินพุต: nums = [4,3,5,4]
เอาต์พุต: 2
คำอธิบาย:
อาร์เรย์ค่าเฉพาะตัวของ nums คือ [1, 1, 1, 1, 2, 2, 2, 3, 3, 3] อาร์เรย์ที่ไม่ซ้ำกันมีค่ามัธยฐานเท่ากับ 2 ดังนั้นคำตอบคือ 2

ข้อจำกัด:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^5


คำหนึ่งจะถือว่าถูกต้องถ้า:

มีอย่างน้อย 3 ตัวอักษร
มีเฉพาะตัวเลข (0-9) และตัวอักษรภาษาอังกฤษ (ตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก)
มีสระอย่างน้อยหนึ่งตัว
มีพยัญชนะอย่างน้อยหนึ่งตัว

คุณได้รับสตริงคำที่กำหนด
ให้คืนค่า true ถ้าคำที่กำหนดถูกต้อง, มิฉะนั้นให้คืนค่า false
หมายเหตุ:

'a', 'e', 'i', 'o', 'u' และตัวพิมพ์ใหญ่ของมันเป็นสระ
พยัญชนะคือตัวอักษรภาษาอังกฤษที่ไม่ใช่สระ

ตัวอย่างที่ 1:

Input: word = "234Adas"
Output: true
คำอธิบาย:
คำนี้ตรงตามเงื่อนไข

ตัวอย่างที่ 2:

Input: word = "b3"
Output: false
คำอธิบาย:
ความยาวของคำนี้น้อยกว่า 3 และไม่มีสระ

ตัวอย่างที่ 3:

Input: word = "a3$e"
Output: false
คำอธิบาย:
คำนี้มีตัวอักษร a '$' และไม่มีพยัญชนะ

ข้อจำกัด:

1 <= word.length <= 20
word ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก, ตัวเลข, '@', '#', และ '$'

คำหนึ่งจะถือว่าถูกต้องถ้า:

มีอย่างน้อย 3 ตัวอักขระ
มีเฉพาะตัวเลข (0-9) และตัวอักษรภาษาอังกฤษ (ตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก)
มีสระอย่างน้อยหนึ่งตัว
มีพยัญชนะอย่างน้อยหนึ่งตัว

คุณได้รับสตริงคำที่กำหนด
ให้คืนค่า true ถ้าคำที่กำหนดถูกต้อง, มิฉะนั้นให้คืนค่า false
หมายเหตุ:

'a', 'e', 'i', 'o', 'u' และตัวพิมพ์ใหญ่ของมันเป็นสระ
พยัญชนะคือตัวอักษรภาษาอังกฤษที่ไม่ใช่สระ

ตัวอย่างที่ 1:

Input: word = "234Adas"
Output: true
คำอธิบาย:
คำนี้ตรงตามเงื่อนไข

ตัวอย่างที่ 2:

Input: word = "b3"
Output: false
คำอธิบาย:
ความยาวของคำนี้น้อยกว่า 3 และไม่มีสระ

ตัวอย่างที่ 3:

Input: word = "a3$e"
Output: false
คำอธิบาย:
คำนี้ประกอบด้วยตัวอักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก '@', '#', and '$'.

ข้อจำกัด:

1 <= word.length <= 20
word ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก '@', '#', และ '$'

คำนั้นถือว่าถูกต้องหาก:

มันมีอย่างน้อย 3 อักขระ
มันมีตัวเลขเท่านั้น (0-9) และตัวอักษรภาษาอังกฤษ (ตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก)
มันมีสระอย่างน้อยหนึ่งตัว
มันมีพยัญชนะอย่างน้อยหนึ่งตัว

คุณจะได้รับคำสตริง
ส่งคืนจริงถ้าคำนั้นถูกต้องมิฉะนั้นจะกลับเท็จ
หมายเหตุ:

'a', 'e', 'i', 'o', 'u' และตัวพิมพ์ใหญ่ของพวกเขาเป็นเสียงสระ
พยัญชนะเป็นจดหมายภาษาอังกฤษที่ไม่ใช่เสียงสระ

ตัวอย่างที่ 1:

อินพุต: word = "234Adas"
เอาท์พุท: จริง
คำอธิบาย:
คำนี้เป็นไปตามเงื่อนไข

ตัวอย่างที่ 2:

อินพุต: word = "b3"
เอาท์พุท: เท็จ
คำอธิบาย:
ความยาวของคำนี้น้อยกว่า 3 และไม่มีเสียงสระ

ตัวอย่างที่ 3:

อินพุต: word = "a3$e"
เอาท์พุท: เท็จ
คำอธิบาย:
คำนี้มีอักขระ '$' และไม่มีพยัญชนะ

ข้อ จำกัด :

1 <= word.length <= 20
Word ประกอบด้วยตัวพิมพ์ใหญ่ภาษาอังกฤษและตัวพิมพ์เล็กตัวเลขตัวเลข '@', '#' และ '$'


คุณจะได้รับสตริงเวิร์ดขนาด n และจำนวนเต็ม k ที่ k หาร n ได้
ในการดำเนินการครั้งหนึ่ง คุณสามารถเลือกดัชนี i และ j สองตัวที่หารด้วย k ได้ จากนั้นแทนที่สตริงย่อยที่มีความยาว k ซึ่งเริ่มต้นที่ i ด้วยสตริงย่อยที่มีความยาว k ซึ่งเริ่มต้นที่ j นั่นคือ แทนที่สตริงย่อย word[i..i + k - 1] ด้วยสตริงย่อย word[j..j + k - 1]
ส่งคืนจำนวนการดำเนินการขั้นต่ำที่จำเป็นเพื่อให้คำ k เป็นคาบ
เราจะกล่าวว่า word เป็นคาบ k ถ้ามีสตริง s ที่มีความยาว k บางตัวที่สามารถรับ word ได้โดยการต่อ s จำนวนครั้งใดก็ได้ ตัวอย่างเช่น หาก word == “ababab” ดังนั้น word จะเป็นคาบ 2 สำหรับ s = “ab”

ตัวอย่างที่ 1:

อินพุต: word = "leetcodeleet", k = 4
เอาต์พุต: 1
คำอธิบาย:
เราสามารถรับสตริง 4 คาบโดยเลือก i = 4 และ j = 0 หลังจากการดำเนินการนี้ word จะเท่ากับ "leetleetleet"

ตัวอย่างที่ 2:

อินพุต: word = "leetcoleet", k = 2
เอาต์พุต: 3
คำอธิบาย:
เราสามารถรับสตริง 2 คาบโดยใช้การดำเนินการในตารางด้านล่าง

i
j
word

0
2
etetcoleet

4
0
etetetleet

6
0
etetetetet

ข้อจำกัด:

1 <= n == word.length <= 10^5
1 <= k <= word.length
k หาร word.length ลงตัว
word ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น

คุณจะได้รับสตริงเวิร์ดขนาด n และจำนวนเต็ม k ที่ k หาร n ได้
ในการดำเนินการครั้งหนึ่ง คุณสามารถเลือกดัชนี i และ j สองตัวที่หารด้วย k ได้ จากนั้นแทนที่สตริงย่อยที่มีความยาว k ซึ่งเริ่มต้นที่ i ด้วยสตริงย่อยที่มีความยาว k ซึ่งเริ่มต้นที่ j นั่นคือ แทนที่สตริงย่อย word[i..i + k - 1] ด้วยสตริงย่อย word[j..j + k - 1]
ส่งคืนจำนวนการดำเนินการขั้นต่ำที่จำเป็นเพื่อให้คำ k เป็นคาบ
เราจะกล่าวว่า word เป็นคาบ k ถ้ามีสตริง s ที่มีความยาว k บางตัวที่สามารถรับ word ได้โดยการต่อ s จำนวนครั้งใดก็ได้ ตัวอย่างเช่น หาก word == “ababab” ดังนั้น word จะเป็นคาบ 2 สำหรับ s = “ab”

ตัวอย่างที่ 1:

อินพุต: word = "leetcodeleet", k = 4
เอาต์พุต: 1
คำอธิบาย:
เราสามารถรับสตริง 4 คาบโดยเลือก i = 4 และ j = 0 หลังจากการดำเนินการนี้ word จะเท่ากับ "leetleetleet"

ตัวอย่างที่ 2:

อินพุต: word = "leetcoleet", k = 2
เอาต์พุต: 3
คำอธิบาย:
เราสามารถรับสตริง 2 คาบโดยใช้การดำเนินการในตารางด้านล่าง

i
j
word

0
2
etetcoleet

4
0
etetetleet

6
0
etetetetet

ข้อจำกัด:

1 <= n == word.length <= 10^5
1 <= k <= word.length
k หาร word.length
word ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น

คุณจะได้รับคำสตริงที่มีขนาด n และจำนวนเต็ม k โดยที่ k หาร n ลงตัว
ในการดำเนินการครั้งเดียวคุณสามารถเลือกดัชนีสองดัชนี i และ j ที่หารด้วย k จากนั้นแทนที่สายย่อยความยาว k เริ่มต้นที่ i ด้วยสายย่อยความยาว k เริ่มต้นที่ j นั่นคือแทนที่คำย่อย [i..i + k - 1] ด้วยคำย่อย [j..j + k - 1]
ส่งคืนจำนวนขั้นต่ำของการดำเนินการที่จำเป็นในการทำคำ K-periodic
เราบอกว่าคำนั้นเป็น k-ช่วงเวลา หากมีความยาวของสตริง k เช่นนั้นสามารถรับคำได้โดยการต่อจำนวนครั้งโดยพลการ ตัวอย่างเช่น ถ้า word == “ababab” คำนั้นจะเป็น 2-periodic สำหรับ S = "ab"

ตัวอย่างที่ 1:

อินพุต: word = "leetcodeleet", k = 4
เอาท์พุท: 1
คำอธิบาย:
เราสามารถรับสตริง 4-periodic โดยการเลือก i = 4 และ j = 0 หลังจากการดำเนินการนี้คำจะเท่ากับ "leetleetleet"

ตัวอย่างที่ 2:

อินพุต: word = "leetcoleet", k = 2
เอาท์พุท: 3
คำอธิบาย:
เราสามารถทำให้สตริงเป็น 2-ช่วงเวลาโดยใช้การดำเนินการในตารางด้านล่าง

i
j
word

0
2
etetcoleet

4
0
etetetleet

6
0
etetetet

ข้อ จำกัด :

1 <= n == word.length <= 10^5
1 <= k <= word.length
k divides word.length.
Word ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น


คุณได้รับสตริง s ซึ่งเป็นการรวมกันของอนาแกรมของสตริง t บางตัว
ให้คืนค่าความยาวขั้นต่ำที่เป็นไปได้ของสตริง t
อนาแกรมถูกสร้างขึ้นโดยการจัดเรียงตัวอักษรของสตริงใหม่ ตัวอย่างเช่น "aab", "aba" และ "baa" เป็นอนาแกรมของ "aab"

ตัวอย่างที่ 1:

Input: s = "abba"
Output: 2
คำอธิบาย:
หนึ่งในสตริงที่เป็นไปได้ t อาจเป็น 'ba'.

ตัวอย่างที่ 2:

Input: s = "cdef"
Output: 4
คำอธิบาย:
หนึ่งในสตริง t ที่เป็นไปได้อาจเป็น 'cdef' สังเกตว่า t สามารถเท่ากับ s ได้

ข้อจำกัด:

1 <= s.length <= 10^5
s ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น

คุณจะได้รับสตริง s ซึ่งทราบกันว่าเป็นการเชื่อมโยงอักษรผสมของสตริง t
คืนค่าความยาวขั้นต่ำที่เป็นไปได้ของสตริง t
อักษรผสมเกิดขึ้นจากการจัดเรียงตัวอักษรของสตริงใหม่ ตัวอย่างเช่น "aab" "aba" และ "baa" เป็นอักษรผสมของ "aab"

ตัวอย่างที่ 1:

อินพุต: s = "abba"
เอาต์พุต: 2
คำอธิบาย:
สตริง t ที่เป็นไปได้หนึ่งตัวอาจเป็น "ba"

ตัวอย่างที่ 2:

อินพุต: s = "cdef"
เอาต์พุต: 4
คำอธิบาย:
สตริง t ที่เป็นไปได้หนึ่งตัวอาจเป็น "cdef" โปรดสังเกตว่า t สามารถเท่ากับ s ได้

ข้อจำกัด:

1 <= s.length <= 10^5
s ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น

คุณจะได้รับสตริง s ซึ่งเป็นที่ทราบกันดีว่าเป็นการต่อแอนนาแกรมของสตริง t บางตัว
ส่งคืนความยาวต่ําสุดที่เป็นไปได้ของสตริง t
แอนนาแกรมเกิดขึ้นโดยการจัดเรียงตัวอักษรของสตริงใหม่ ตัวอย่างเช่น "aab", "aba" และ "baa" เป็นแอนนาแกรมของ "aab"

ตัวอย่างที่ 1:

อินพุต: s = "abba"
เอาท์พุต: 2
การอธิบาย:
สตริงที่เป็นไปได้หนึ่งสตริง t อาจเป็น "ba"

ตัวอย่างที่ 2:

อินพุต: s = "cdef"
เอาท์พุต: 4
การอธิบาย:
สตริงที่เป็นไปได้หนึ่งสตริง t อาจเป็น "cdef" สังเกตว่า t สามารถเท่ากับ s

ข้อจํากัด:

1 <= s.length <= 10^5
s ประกอบด้วยตัวอักษรภาษาอังกฤษตัวเล็กเท่านั้น


คุณจะได้รับอาร์เรย์จำนวนเต็ม nums และจำนวนเต็มสองตัว cost1 และ cost2 คุณสามารถดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้ได้หลายครั้งเท่าที่ต้องการ:

เลือกดัชนี i จาก nums และเพิ่ม nums[i] ขึ้น 1 สำหรับต้นทุนของ cost1
เลือกดัชนี i, j ที่แตกต่างกันสองตัวจาก nums และเพิ่ม nums[i] และ nums[j] ขึ้น 1 สำหรับต้นทุนของ cost2

ส่งคืนต้นทุนขั้นต่ำที่จำเป็นเพื่อทำให้องค์ประกอบทั้งหมดในอาร์เรย์เท่ากัน

เนื่องจากคำตอบอาจมีค่ามาก ให้ส่งคืนโมดูโล 10^9 + 7

ตัวอย่างที่ 1:

อินพุต: nums = [4,1], cost1 = 5, cost2 = 2
เอาต์พุต: 15
คำอธิบาย:
สามารถดำเนินการต่อไปนี้เพื่อทำให้ค่าเท่ากันได้:

เพิ่ม nums[1] ขึ้น 1 สำหรับต้นทุน 5 nums จะกลายเป็น [4,2]
เพิ่ม nums[1] ขึ้น 1 ด้วยต้นทุน 5 nums จะกลายเป็น [4,3]
เพิ่ม nums[1] ขึ้น 1 ด้วยต้นทุน 5 nums จะกลายเป็น [4,4]

ต้นทุนรวมคือ 15

ตัวอย่างที่ 2:

อินพุต: nums = [2,3,3,3,5], cost1 = 2, cost2 = 1
เอาต์พุต: 6
คำอธิบาย:
สามารถดำเนินการต่อไปนี้เพื่อให้ค่าเท่ากันได้:

เพิ่ม nums[0] และ nums[1] ขึ้น 1 ด้วยต้นทุน 1 nums จะกลายเป็น [3,4,3,3,5]
เพิ่ม nums[0] และ nums[2] ขึ้น 1 ด้วยต้นทุน 1 nums จะกลายเป็น [4,4,4,3,5]
เพิ่ม nums[0] และ nums[3] ขึ้น 1 ด้วยต้นทุน 1 nums จะกลายเป็น [5,4,4,4,5]
เพิ่ม nums[1] และ nums[2] ขึ้น 1 ด้วยต้นทุน 1 nums จะกลายเป็น [5,5,5,4,5]
เพิ่ม nums[3] ขึ้น 1 ด้วยต้นทุน 2 nums จะกลายเป็น [5,5,5,5,5]

ต้นทุนรวมคือ 6

ตัวอย่างที่ 3:

อินพุต: nums = [3,5,3], cost1 = 1, cost2 = 3
เอาต์พุต: 4
คำอธิบาย:
สามารถดำเนินการต่อไปนี้เพื่อให้ค่าเท่ากันได้:

เพิ่ม nums[0] ขึ้น 1 โดยมีค่าใช้จ่าย 1 nums จะกลายเป็น [4,5,3]
เพิ่ม nums[0] ขึ้น 1 โดยมีค่าใช้จ่าย 1 nums จะกลายเป็น [5,5,3]
เพิ่ม nums[2] ขึ้น 1 โดยมีค่าใช้จ่าย 1 nums จะกลายเป็น [5,5,4]
เพิ่ม nums[2] ขึ้น 1 โดยมีค่าใช้จ่าย 1 nums จะกลายเป็น [5,5,5]

ค่าใช้จ่ายรวมคือ 4

ข้อจำกัด:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^6
1 <= cost1 <= 10^6
1 <= cost2 <= 10^6

คุณได้รับอาเรย์เต็ม nums และจำนวนเต็มสองค่า cost1 และ cost2 คุณได้รับอนุญาตให้ดำเนินการใด ๆ ต่อไปนี้ได้จำนวนครั้งใด ๆ :

เลือกดัชนี i จาก nums และเพิ่ม nums[i] ทีละ 1 โดยมีค่าใช้จ่าย cost1
เลือกสองดัชนีที่ต่างกัน i, j จาก nums และเพิ่ม nums[i] และ nums[j] ทีละ 1 โดยมีค่าใช้จ่าย cost2

คืนค่าค่าใช้จ่ายขั้นต่ำที่จำเป็นเพื่อทำให้ทุกองค์ประกอบในอาเรย์เท่ากัน
เนื่องจากคำตอบอาจมีค่ามาก ให้คืนค่าเป็นโมดูโล 10^9 + 7

ตัวอย่างที่ 1:

Input: nums = [4,1], cost1 = 5, cost2 = 2
Output: 15
คำอธิบาย:
การดำเนินการต่อไปนี้สามารถทำได้เพื่อทำให้ค่าต่าง ๆ เท่ากัน:

เพิ่ม nums[1] ทีละ 1 โดยมีค่าใช้จ่าย 5. nums กลายเป็น [4,2].
เพิ่ม nums[1] ทีละ 1 โดยมีค่าใช้จ่าย 5. nums กลายเป็น [4,3].
เพิ่ม nums[1] ทีละ 1 โดยมีค่าใช้จ่าย 5. nums กลายเป็น [4,4].

ค่าใช้จ่ายรวมคือ 15.

ตัวอย่างที่ 2:

Input: nums = [2,3,3,3,5], cost1 = 2, cost2 = 1
Output: 6
คำอธิบาย:
การดำเนินการต่อไปนี้สามารถทำได้เพื่อทำให้ค่าต่าง ๆ เท่ากัน:

เพิ่ม nums[0] และ nums[1] ทีละ 1 โดยมีค่าใช้จ่าย 1. nums กลายเป็น [3,4,3,3,5].
เพิ่ม nums[0] และ nums[2] ทีละ 1 โดยมีค่าใช้จ่าย 1. nums กลายเป็น [4,4,4,3,5].
เพิ่ม nums[0] และ nums[3] ทีละ 1 โดยมีค่าใช้จ่าย 1. nums กลายเป็น [5,4,4,4,5].
เพิ่ม nums[1] และ nums[2] ทีละ 1 โดยมีค่าใช้จ่าย 1. nums กลายเป็น [5,5,5,4,5].
เพิ่ม nums[3] ทีละ 1 โดยมีค่าใช้จ่าย 2. nums กลายเป็น [5,5,5,5,5].

ค่าใช้จ่ายรวมคือ 6.

ตัวอย่างที่ 3:

Input: nums = [3,5,3], cost1 = 1, cost2 = 3
Output: 4
คำอธิบาย:
การดำเนินการต่อไปนี้สามารถทำได้เพื่อทำให้ค่าต่าง ๆ เท่ากัน:

เพิ่ม nums[0] ทีละ 1 โดยมีค่าใช้จ่าย 1. nums กลายเป็น [4,5,3].
เพิ่ม nums[0] ทีละ 1 โดยมีค่าใช้จ่าย 1. nums กลายเป็น [5,5,3].
เพิ่ม nums[2] ทีละ 1 โดยมีค่าใช้จ่าย 1. nums กลายเป็น [5,5,4].
เพิ่ม nums[2] ทีละ 1 โดยมีค่าใช้จ่าย 1. nums กลายเป็น [5,5,5].

ค่าใช้จ่ายรวมคือ 4.

ข้อจำกัด:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^6
1 <= cost1 <= 10^6
1 <= cost2 <= 10^6

คุณจะได้รับอาร์เรย์จำนวนเต็ม nums และจำนวนเต็มสองตัว cost1 และ cost2 คุณสามารถดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้ได้หลายครั้งเท่าที่ต้องการ:

เลือกดัชนี i จาก nums และเพิ่ม nums[i] ขึ้น 1 สำหรับต้นทุนของ cost1
เลือกดัชนี i, j ที่แตกต่างกันสองตัวจาก nums และเพิ่ม nums[i] และ nums[j] ขึ้น 1 สำหรับต้นทุนของ cost2

ส่งคืนต้นทุนขั้นต่ำที่จำเป็นเพื่อทำให้องค์ประกอบทั้งหมดในอาร์เรย์เท่ากัน

เนื่องจากคำตอบอาจมีค่ามาก ให้ส่งคืนโมดูโล 10^9 + 7

ตัวอย่างที่ 1:

อินพุต: nums = [4,1], cost1 = 5, cost2 = 2
เอาต์พุต: 15
คำอธิบาย:
สามารถดำเนินการต่อไปนี้เพื่อทำให้ค่าเท่ากันได้:

เพิ่ม nums[1] ขึ้น 1 สำหรับต้นทุน 5 nums จะกลายเป็น [4,2] เพิ่ม nums[1] ขึ้น 1 ด้วยต้นทุน 5 nums จะกลายเป็น [4,3]
เพิ่ม nums[1] ขึ้น 1 ด้วยต้นทุน 5 nums จะกลายเป็น [4,4]

ต้นทุนรวมคือ 15

ตัวอย่างที่ 2:

อินพุต: nums = [2,3,3,3,5], cost1 = 2, cost2 = 1
เอาต์พุต: 6
คำอธิบาย:
สามารถดำเนินการต่อไปนี้เพื่อให้ค่าเท่ากันได้:

เพิ่ม nums[0] และ nums[1] ขึ้น 1 ด้วยต้นทุน 1 nums จะกลายเป็น [3,4,3,3,5]
เพิ่ม nums[0] และ nums[2] ขึ้น 1 ด้วยต้นทุน 1 nums จะกลายเป็น [4,4,4,3,5] เพิ่ม nums[0] และ nums[3] ขึ้น 1 ด้วยต้นทุน 1 nums จะกลายเป็น [5,4,4,4,5]
เพิ่ม nums[1] และ nums[2] ขึ้น 1 ด้วยต้นทุน 1 nums จะกลายเป็น [5,5,5,4,5]

เพิ่ม nums[3] ขึ้น 1 ด้วยต้นทุน 2 nums จะกลายเป็น [5,5,5,5,5]

ต้นทุนรวมคือ 6

ตัวอย่างที่ 3:

อินพุต: nums = [3,5,3], cost1 = 1, cost2 = 3
เอาต์พุต: 4
คำอธิบาย:
สามารถดำเนินการต่อไปนี้เพื่อให้ค่าเท่ากันได้:

เพิ่ม nums[0] ขึ้น 1 ด้วยต้นทุน 1 nums จะกลายเป็น [4,5,3] เพิ่ม nums[0] ขึ้น 1 โดยมีค่าใช้จ่าย 1 nums จะกลายเป็น [5,5,3]
เพิ่ม nums[2] ขึ้น 1 โดยมีค่าใช้จ่าย 1 nums จะกลายเป็น [5,5,4]
เพิ่ม nums[2] ขึ้น 1 โดยมีค่าใช้จ่าย 1 nums จะกลายเป็น [5,5,5]

ค่าใช้จ่ายรวมคือ 4

ข้อจำกัด:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^6
1 <= cost1 <= 10^6
1 <= cost2 <= 10^6


คุณจะได้รับตารางเมทริกซ์ 2 มิติขนาด 3 x 3 ที่ประกอบด้วยอักขระ 'B' และ 'W' เท่านั้น อักขระ 'W' แทนสีขาว และอักขระ 'B' แทนสีดำ
งานของคุณคือเปลี่ยนสีของเซลล์อย่างมากที่สุดหนึ่งเซลล์เพื่อให้เมทริกซ์มีสี่เหลี่ยมจัตุรัสขนาด 2 x 2 โดยที่เซลล์ทั้งหมดมีสีเดียวกัน
คืนค่า true หากสามารถสร้างสี่เหลี่ยมจัตุรัสขนาด 2 x 2 ที่มีสีเดียวกันได้ มิฉะนั้น คืนค่า false

ตัวอย่างที่ 1:

อินพุต: grid = [["B","W","B"],["B","W","W"],["B","W","B"]]
เอาต์พุต: true
คำอธิบาย:
สามารถทำได้โดยเปลี่ยนสีของตาราง[0][2]
ตัวอย่างที่ 2:

อินพุต: grid = [["B","W","B"],["W","B","W"],["B","W","B"]]
เอาต์พุต: false
คำอธิบาย:
ไม่สามารถทำได้โดยการเปลี่ยนแปลงเซลล์ไม่เกินหนึ่งเซลล์

ตัวอย่างที่ 3:

อินพุต: grid = [["B","W","B"],["B","W","W"],["B","W","W"]]
เอาต์พุต: true
คำอธิบาย:
กริดมีสี่เหลี่ยมจัตุรัสขนาด 2 x 2 ที่มีสีเดียวกันอยู่แล้ว

ข้อจำกัด:

grid.length == 3
grid[i].length == 3
grid[i][j] คือ 'W' หรือ 'B'

คุณจะได้รับตารางเมทริกซ์ 2 มิติขนาด 3 x 3 ที่ประกอบด้วยอักขระ 'B' และ 'W' เท่านั้น อักขระ 'W' แทนสีขาว และอักขระ 'B' แทนสีดำ
งานของคุณคือเปลี่ยนสีของเซลล์อย่างมากที่สุดหนึ่งเซลล์เพื่อให้เมทริกซ์มีสี่เหลี่ยมจัตุรัสขนาด 2 x 2 โดยที่เซลล์ทั้งหมดมีสีเดียวกัน
คืนค่า true หากสามารถสร้างสี่เหลี่ยมจัตุรัสขนาด 2 x 2 ที่มีสีเดียวกันได้ มิฉะนั้น คืนค่า false

ตัวอย่างที่ 1:

อินพุต: grid = [["B","W","B"],["B","W","W"],["B","W","B"]]
เอาต์พุต: true
คำอธิบาย:
สามารถทำได้โดยเปลี่ยนสีของตาราง[0][2]

ตัวอย่างที่ 2:

อินพุต: grid = [["B","W","B"],["W","B","W"],["B","W","B"]]
เอาต์พุต: false
คำอธิบาย:
ไม่สามารถทำได้โดยการเปลี่ยนแปลงเซลล์สูงสุดหนึ่งเซลล์

ตัวอย่างที่ 3:

อินพุต: grid = [["B","W","B"],["B","W","W"],["B","W","W"]]
เอาต์พุต: true
คำอธิบาย:
กริดมีสี่เหลี่ยมจัตุรัสขนาด 2 x 2 ที่มีสีเดียวกันอยู่แล้ว

ข้อจำกัด:

grid.length == 3
grid[i].length == 3
grid[i][j] คือ 'W' หรือ 'B'

คุณจะได้รับกริดเมทริกซ์ 2D ขนาด 3 x 3 ประกอบด้วยอักขระ 'B' และ 'W' เท่านั้น ตัวละคร 'W' หมายถึงสีขาวและตัวละคร 'B' หมายถึงสีดำ
งานของคุณคือการเปลี่ยนสีของเซลล์มากที่สุดหนึ่งเซลล์เพื่อให้เมทริกซ์มี 2 x 2 ตารางที่เซลล์ทั้งหมดมีสีเดียวกัน
ส่งคืนจริงถ้าเป็นไปได้ที่จะสร้าง 2 x 2 ตารางของสีเดียวกันมิฉะนั้นกลับเท็จ

ตัวอย่างที่ 1:

อินพุต: grid = [["B", "W", "B"], ["B", "W", "W"], ["B", "W", "B"]
เอาท์พุท: true
คำอธิบาย:
มันสามารถทำได้โดยการเปลี่ยนสีของกริด[0][2]

ตัวอย่างที่ 2:

อินพุต: grid = [["B","W","B"],["W","B","W"],["B","W","B"]]
เอาท์พุท: false
คำอธิบาย:
ไม่สามารถทำได้โดยการเปลี่ยนเซลล์ไม่เกินหนึ่งเซลล์
ตัวอย่างที่ 3:

อินพุต: grid = [["B","W","B"],["B","W","W"],["B","W","W"]]
เอาท์พุท: true
คำอธิบาย:
กริดมีสีเดียวกัน 2 x 2 ที่มีสีเดียวกัน

ข้อ จำกัด :

grid.length == 3
grid[i].length == 3
grid[i][j] เป็น 'W' หรือ 'B'


ให้คุณกำหนดเมทริกซ์บูลีนสองมิติ grid
ส่งคืนจำนวนเต็มที่เป็นจำนวนของสามเหลี่ยมมุมฉากที่สามารถสร้างได้จากองค์ประกอบ 3 ตัวของ grid โดยที่ทั้งหมดมีค่าเป็น 1
หมายเหตุ:

กลุ่มขององค์ประกอบ 3 ตัวของ grid เป็นสามเหลี่ยมมุมฉากถ้ามีองค์ประกอบตัวหนึ่งอยู่ในแถวเดียวกันกับอีกตัวหนึ่งและอยู่ในคอลัมน์เดียวกันกับองค์ประกอบที่สาม องค์ประกอบทั้ง 3 ตัวไม่จำเป็นต้องอยู่ติดกัน

ตัวอย่างที่ 1:

0
1
0

0
1
1

0
1
0

0
1
0

0
1
1

0
1
0

Input: grid = [[0,1,0],[0,1,1],[0,1,0]]
Output: 2
คำอธิบาย:
มีสามเหลี่ยมมุมฉากสองรูป

ตัวอย่างที่ 2:

1
0
0
0

0
1
0
1

1
0
0
0

Input: grid = [[1,0,0,0],[0,1,0,1],[1,0,0,0]]
Output: 0
คำอธิบาย:
ไม่มีสามเหลี่ยมมุมฉาก

ตัวอย่างที่ 3:

1
0
1

1
0
0

1
0
0

1
0
1

1
0
0

1
0
0

Input: grid = [[1,0,1],[1,0,0],[1,0,0]]
Output: 2
คำอธิบาย:
มีสามเหลี่ยมมุมฉากสองรูป

ข้อจำกัด:

1 <= grid.length <= 1000
1 <= grid[i].length <= 1000
0 <= grid[i][j] <= 1

คุณจะได้รับตารางเมทริกซ์บูลีน 2D
ส่งคืนจำนวนเต็มที่เป็นจำนวนสามเหลี่ยมมุมฉากที่สามารถทำได้ด้วย 3 องค์ประกอบของกริดเพื่อให้พวกเขาทั้งหมดมีค่า 1
บันทึก:

คอลเลกชันของ 3 องค์ประกอบของกริดเป็นสามเหลี่ยมมุมฉากหากองค์ประกอบหนึ่งของมันอยู่ในแถวเดียวกันกับองค์ประกอบอื่นและในคอลัมน์เดียวกันกับองค์ประกอบที่สาม องค์ประกอบทั้ง 3 ไม่จำเป็นต้องอยู่ติดกัน

ตัวอย่างที่ 1:

0
1
0

0
1
1

0
1
0

0
1
0

0
1
1

0
1
0

ข้อมูลนำเข้า: grid = [[0,1,0], [0,1,1], [0,1,0]]
ผลลัพธ์: 2
คำอธิบาย:
มีสามเหลี่ยมสองรูป

ตัวอย่างที่ 2:

1
0
0
0

0
1
0
1

1
0
0
0

ข้อมูลนำเข้า: grid = [[1,0,0,0], [0,1,0,1], [1,0,0,0]]]
ผลลัพธ์: 0
คำอธิบาย:
ไม่มีสามเหลี่ยมมุมฉาก

ตัวอย่างที่ 3:

1
0
1

1
0
0

1
0
0

1
0
1

1
0
0

1
0
0

ข้อมูลนำเข้า: grid = [[1,0,1], [1,0,0], [1,0,0]]
ผลลัพธ์: 2
คำอธิบาย:
มีสามเหลี่ยมสองรูป

ข้อ จำกัด :

1 <= grid.length <= 1000
1 <= grid [i] .length <= 1,000
0 <= grid [i] [j] <= 1

คุณจะได้รับตารางเมทริกซ์บูลีน 2 มิติ
ส่งกลับจำนวนเต็มที่เป็นจำนวนของสามเหลี่ยมมุมฉากที่สามารถทําได้ด้วยองค์ประกอบ 3 องค์ประกอบของกริดเพื่อให้องค์ประกอบทั้งหมดมีค่า 1
หมายเหตุ:

คอลเลกชันขององค์ประกอบ 3 องค์ประกอบของกริดเป็นสามเหลี่ยมมุมฉากหากองค์ประกอบใดองค์ประกอบหนึ่งอยู่ในแถวเดียวกันกับองค์ประกอบอื่นและอยู่ในคอลัมน์เดียวกันกับองค์ประกอบที่สาม องค์ประกอบทั้ง 3 ไม่จำเป็นต้องอยู่ติดกัน

ตัวอย่างที่ 1:

0
1
0

0
1
1

0
1
0

0
1
0

0
1
1

0
1
0

อินพุต: grid = [[0,1,0],[0,1,1],[0,1,0]]
เอาท์พุต: 2
การอธิบาย:
มีสามเหลี่ยมมุมฉากสองรูป

ตัวอย่างที่ 2:

1
0
0
0

0
1
0
1

1
0
0
0

อินพุต: grid = [[1,0,0,0],[0,1,0,1],[1,0,0,0]]
เอาท์พุต: 0
การอธิบาย:
ไม่มีสามเหลี่ยมมุมฉาก

ตัวอย่างที่ 3:

1
0
1

1
0
0

1
0
0

1
0
1

1
0
0

1
0
0

อินพุต: grid = [[1,0,1],[1,0,0],[1,0,0]]
เอาท์พุต: 2
การอธิบาย:
มีสามเหลี่ยมมุมฉากสองรูป

ข้อจํากัด:

1 <= grid.length <= 1000
1 <= grid[i].length <= 1000
0 <= grid[i][j] <= 1


คุณได้รับจำนวนเต็มบวก 3 ตัว ได้แก่ ศูนย์ หนึ่ง และขีดจำกัด
อาร์เรย์ไบนารี arr จะถูกเรียกว่าเสถียร หาก:

จำนวนการเกิดขึ้นของ 0 ใน arr เท่ากับศูนย์
จำนวนการเกิดขึ้นของ 1 ใน arr เท่ากับหนึ่ง
แต่ละซับอาร์เรย์ของ arr ที่มีขนาดใหญ่กว่าขีดจำกัดต้องมีทั้ง 0 และ 1

ให้คืนค่าจำนวนอาร์เรย์ไบนารีที่เสถียรทั้งหมด
เนื่องจากคำตอบอาจมีขนาดใหญ่มาก ให้คืนค่าเป็นโมดูโล 10^9 + 7

ตัวอย่างที่ 1:

Input: zero = 1, one = 1, limit = 2
Output: 2
คำอธิบาย:
อาร์เรย์ไบนารีที่มีเสถียรภาพสองแบบที่เป็นไปได้คือ [1,0] และ [0,1] เนื่องจากอาร์เรย์ทั้งสองมี 0 เพียงตัวเดียวและ 1 เพียงตัวเดียว และไม่มีซับอาร์เรย์ใดที่มีความยาวมากกว่า 2

ตัวอย่างที่ 2:

Input: zero = 1, one = 2, limit = 1
Output: 1
คำอธิบาย:
อาร์เรย์ไบนารีที่มีเสถียรภาพเพียงอย่างเดียวคือ [1,0,1]
โปรดสังเกตว่าอาร์เรย์ไบนารี [1,1,0] และ [0,1,1] มีซับอาร์เรย์ที่มีความยาว 2 ซึ่งมีองค์ประกอบเหมือนกัน ดังนั้นจึงไม่เสถียร

ตัวอย่างที่ 3:

Input: zero = 3, one = 3, limit = 2
Output: 14
คำอธิบาย:
อาร์เรย์ไบนารีที่มีเสถียรภาพทั้งหมดที่เป็นไปได้คือ [0,0,1,0,1,1], [0,0,1,1,0,1], [0,1,0,0,1,1], [0,1,0,1,0,1], [0,1,0,1,1,0], [0,1,1,0,0,1], [0,1,1,0,1,0], [1,0,0,1,0,1], [1,0,0,1,1,0], [1,0,1,0,0,1], [1,0,1,0,1,0], [1,0,1,1,0,0], [1,1,0,0,1,0], และ [1,1,0,1,0,0].

ข้อจำกัด:

1 <= zero, one, limit <= 200

คุณจะได้รับจำนวนเต็มบวก 3 จำนวน คือ ศูนย์ หนึ่ง และลิมิต
อาร์เรย์ไบนารี arr จะถูกเรียกว่าเสถียร หาก:

จำนวนครั้งของ 0 ใน arr เป็นศูนย์พอดี
จำนวนครั้งของ 1 ใน arr เป็นหนึ่งพอดี
อาร์เรย์ย่อยของ arr ที่มีขนาดมากกว่าลิมิตจะต้องมีทั้ง 0 และ 1

ส่งคืนจำนวนทั้งหมดของอาร์เรย์ไบนารีที่เสถียร เนื่องจากคำตอบอาจมีค่ามาก ให้คืนค่าโมดูโล 10^9 + 7

ตัวอย่างที่ 1:

อินพุต: zero = 1, one = 1, limit = 2
เอาต์พุต: 2
คำอธิบาย:
อาร์เรย์ไบนารีที่เสถียรที่เป็นไปได้สองอาร์เรย์คือ [1,0] และ [0,1] เนื่องจากอาร์เรย์ทั้งสองมี 0 และ 1 เพียงตัวเดียว และไม่มีอาร์เรย์ย่อยใดมีความยาวมากกว่า 2

ตัวอย่างที่ 2:

อินพุต: zero = 1, one = 2, limit = 1
เอาต์พุต: 1
คำอธิบาย:
อาร์เรย์ไบนารีที่เสถียรที่เป็นไปได้เพียงตัวเดียวคือ [1,0,1]
โปรดทราบว่าอาร์เรย์ไบนารี [1,1,0] และ [0,1,1] มีอาร์เรย์ย่อยความยาว 2 ที่มีองค์ประกอบเหมือนกัน ดังนั้นจึงไม่เสถียร
ตัวอย่างที่ 3:

อินพุต: zero = 3, one = 3, limit = 2
เอาต์พุต: 14
คำอธิบาย:
อาร์เรย์ไบนารีที่เสถียรที่เป็นไปได้ทั้งหมดคือ [0,0,1,0,1,1], [0,0,1,1,0,1], [0,1,0,0,1,1], [0,1,0,1,0,1], [0,1,0,1,1,0], [0,1,1,0,0,1], [0,1,1,0,1,0], [1,0,0,1,0,1], [1,0,0,1,1,0], [1,0,1,0,0,1], [1,0,1,0,1,0], [1,0,1,1,0,0], [1,1,0,0,1,0] และ [1,1,0,1,0,0]
ข้อจำกัด:

1 <= zero, one, limit <= 200

คุณจะได้รับจำนวนเต็มบวก 3 จำนวน คือ ศูนย์ หนึ่ง และลิมิต
อาร์เรย์ไบนารี arr จะถูกเรียกว่าเสถียร หาก:

จำนวนครั้งของ 0 ใน arr เป็นศูนย์พอดี
จำนวนครั้งของ 1 ใน arr เป็นหนึ่งพอดี
อาร์เรย์ย่อยของ arr ที่มีขนาดมากกว่าลิมิตจะต้องมีทั้ง 0 และ 1

ส่งคืนจำนวนทั้งหมดของอาร์เรย์ไบนารีที่เสถียร เนื่องจากคำตอบอาจมีค่ามาก ให้คืนค่าโมดูโล 10^9 + 7

ตัวอย่างที่ 1:

อินพุต: zero = 1, one = 1, limit = 2
เอาต์พุต: 2
คำอธิบาย:
อาร์เรย์ไบนารีที่เสถียรที่เป็นไปได้สองอาร์เรย์คือ [1,0] และ [0,1] เนื่องจากอาร์เรย์ทั้งสองมี 0 และ 1 เพียงตัวเดียว และไม่มีอาร์เรย์ย่อยใดมีความยาวมากกว่า 2

ตัวอย่างที่ 2:

อินพุต:  zero = 1, one = 2, limit = 1
เอาต์พุต: 1
คำอธิบาย:
อาร์เรย์ไบนารีที่เสถียรที่เป็นไปได้เพียงตัวเดียวคือ [1,0,1]
โปรดทราบว่าอาร์เรย์ไบนารี [1,1,0] และ [0,1,1] มีอาร์เรย์ย่อยความยาว 2 ที่มีองค์ประกอบเหมือนกัน ดังนั้นจึงไม่เสถียร
ตัวอย่างที่ 3:

อินพุต: zero = 3, one = 3, limit = 2
เอาต์พุต: 14
คำอธิบาย:
อาร์เรย์ไบนารีที่เสถียรที่เป็นไปได้ทั้งหมดคือ [0,0,1,0,1,1], [0,0,1,1,0,1], [0,1,0,0,1,1], [0,1,0,1,0,1], [0,1,0,1,1,0], [0,1,1,0,0,1], [0,1,1,0,1,0], [1,0,0,1,0,1], [1,0,0,1,1,0], [1,0,1,0,0,1], [1,0,1,0,1,0], [1,0,1,1,0,0], [1,1,0,0,1,0] และ [1,1,0,1,0,0].

ข้อจำกัด:

1 <= zero, one, limit <= 200


คุณได้รับสตริงสองตัวคือ s และ t โดยที่ตัวอักษรแต่ละตัวเกิดขึ้นไม่เกินครั้งเดียวใน s และ t เป็นการจัดเรียงใหม่ของ s
ความแตกต่างของการจัดเรียงระหว่าง s และ t ถูกกำหนดให้เป็นผลรวมของความแตกต่างเชิงสัมบูรณ์ระหว่างดัชนีของการเกิดขึ้นของแต่ละตัวอักษรใน s และดัชนีของการเกิดขึ้นของตัวอักษรเดียวกันใน t
ให้คืนค่าความแตกต่างของการจัดเรียงระหว่าง s และ t

ตัวอย่างที่ 1:

Input: s = "abc", t = "bac"
Output: 2
คำอธิบาย:
สำหรับ s = "abc" และ t = "bac" ความแตกต่างของการจัดเรียงระหว่าง s และ t เท่ากับผลรวมของ:

ความแตกต่างสัมบูรณ์ระหว่างดัชนีของการเกิด "a" ใน s และดัชนีของการเกิด "a" ใน t
ความแตกต่างสัมบูรณ์ระหว่างดัชนีของการเกิด "b" ใน s และดัชนีของการเกิด "b" ใน t
ความแตกต่างสัมบูรณ์ระหว่างดัชนีของการเกิด "c" ใน s และดัชนีของการเกิด "c" ใน t

นั่นคือ ความแตกต่างของการจัดเรียงระหว่าง s และ t เท่ากับ |0 - 1| + |2 - 2| + |1 - 0| = 2.

ตัวอย่างที่ 2:

Input: s = "abcde", t = "edbac"
Output: 12
คำอธิบาย: ความแตกต่างของการจัดเรียงระหว่าง s และ t เท่ากับ |0 - 3| + |1 - 2| + |2 - 4| + |3 - 1| + |4 - 0| = 12.

ข้อจำกัด:

1 <= s.length <= 26
แต่ละตัวอักษรเกิดขึ้นได้สูงสุดเพียงครั้งเดียวใน s
t เป็นการจัดเรียงใหม่ของ s
s ประกอบด้วยตัวอักษรภาษาอังกฤษตัวเล็กเท่านั้น

คุณได้รับสตริง 2 ตัว คือ s และ t โดยที่อักขระแต่ละตัวจะปรากฏใน s มากที่สุดครั้งเดียว และ t เป็นการเรียงสับเปลี่ยนของ s
ความแตกต่างของการเรียงสับเปลี่ยนระหว่าง s และ t ถูกกำหนดให้เป็นผลรวมของความแตกต่างสัมบูรณ์ระหว่างดัชนีของการเกิดขึ้นของอักขระแต่ละตัวใน s และดัชนีของการเกิดขึ้นของอักขระเดียวกันใน t
ส่งกลับความแตกต่างของการเรียงสับเปลี่ยนระหว่าง s และ t

ตัวอย่างที่ 1:

อินพุต: s = "abc", t = "bac"
เอาต์พุต: 2
คำอธิบาย:
สำหรับ s = "abc" และ t = "bac" ความแตกต่างของการเรียงสับเปลี่ยนของ s และ t จะเท่ากับผลรวมของ:

ความแตกต่างสัมบูรณ์ระหว่างดัชนีของการเกิดขึ้นของ "a" ใน s และดัชนีของการเกิดขึ้นของ "a" ใน t
ความแตกต่างสัมบูรณ์ระหว่างดัชนีของการเกิดขึ้นของ "b" ใน s และดัชนีของการเกิดขึ้นของ "b" ใน t ความแตกต่างสัมบูรณ์ระหว่างดัชนีของการเกิดขึ้นของ "c" ใน s และดัชนีของการเกิดขึ้นของ "c" ใน t

นั่นคือ ความแตกต่างของการเรียงสับเปลี่ยนระหว่าง s และ t เท่ากับ |0 - 1| + |2 - 2| + |1 - 0| = 2.

ตัวอย่างที่ 2:

อินพุต: s = "abcde", t = "edbac"
เอาต์พุต: 12
คำอธิบาย: ความแตกต่างของการเรียงสับเปลี่ยนระหว่าง s และ t เท่ากับ |0 - 3| + |1 - 2| + |2 - 4| + |3 - 1| + |4 - 0| = 12.

ข้อจำกัด:

1 <= s.length <= 26
อักขระแต่ละตัวปรากฏไม่เกินหนึ่งครั้งใน s
t คือการเรียงสับเปลี่ยนของ s
s ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น

คุณได้รับสองสาย s และ t เพื่อให้อักขระทุกตัวเกิดขึ้นมากที่สุดครั้งเดียวใน s และ t เป็นการเรียงสับเปลี่ยนของ s
ความแตกต่างของการเรียงสับเปลี่ยนระหว่าง s และ t ถูกกําหนดให้เป็นผลรวมของความแตกต่างสัมบูรณ์ระหว่างดัชนีการเกิดขึ้นของอักขระแต่ละตัวใน s และดัชนีของการเกิดขึ้นของอักขระเดียวกันใน t
ส่งคืนความแตกต่างของการเรียงสับเปลี่ยนระหว่าง s และ t

ตัวอย่างที่ 1:

อินพุต: s = "abc", t = "bac"
เอาท์พุต: 2
การอธิบาย:
สําหรับ s = "abc" และ t = "bac" ความแตกต่างของการเรียงสับเปลี่ยนของ s และ t เท่ากับผลรวมของ:

ความแตกต่างสัมบูรณ์ระหว่างดัชนีการเกิดขึ้นของ "a" ใน s และดัชนีการเกิดขึ้นของ "a" ใน t
ความแตกต่างสัมบูรณ์ระหว่างดัชนีการเกิดขึ้นของ "b" ใน s และดัชนีของการเกิดขึ้นของ "b" ใน t
ความแตกต่างสัมบูรณ์ระหว่างดัชนีการเกิดขึ้นของ "c" ใน s และดัชนีของการเกิดขึ้นของ "c" ใน t

นั่นคือความแตกต่างของการเรียงสับเปลี่ยนระหว่าง s และ t เท่ากับ |0 - 1| + |2 - 2| + |1 - 0| = 2.

ตัวอย่างที่ 2:

อินพุต: s = "abcde", t = "edbac"
เอาท์พุต: 12
คําอธิบาย: ความแตกต่างของการเรียงสับเปลี่ยนระหว่าง s และ t เท่ากับ |0 - 3| + |1 - 2| + |2 - 4| + |3 - 1| + |4 - 0| = 12.

ข้อจํากัด:

1 <= s.length <= 26
อักขระแต่ละตัวเกิดขึ้นมากที่สุดหนึ่งครั้งใน s
t เป็นการเรียงสับเปลี่ยนของ s
s ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้น


ในคุกใต้ดินลึกลับ นักมายากล n คนยืนเป็นแถว นักมายากลแต่ละคนมีคุณสมบัติบางอย่างที่ให้พลังงานแก่คุณ นักมายากลบางคนสามารถให้พลังงานเชิงลบแก่คุณได้ ซึ่งหมายถึงการแย่งพลังงานจากคุณ
คุณถูกสาปในลักษณะที่ว่าหลังจากดูดซับพลังงานจากนักมายากล i แล้ว คุณจะถูกส่งตัวไปยังนักมายากลทันที (i + k) กระบวนการนี้จะเกิดขึ้นซ้ำๆ จนกว่าคุณจะไปถึงนักมายากลที่ (i + k) ไม่มีอยู่
กล่าวอีกนัยหนึ่ง คุณจะเลือกจุดเริ่มต้น จากนั้นเทเลพอร์ตด้วยการกระโดด k ครั้งจนกว่าคุณจะไปถึงจุดสิ้นสุดของลำดับของนักมายากล โดยดูดซับพลังงานทั้งหมดระหว่างการเดินทาง
คุณจะได้รับพลังงานแบบอาร์เรย์และจำนวนเต็ม k คืนพลังงานสูงสุดที่คุณจะได้รับ

ตัวอย่างที่ 1:

อินพุต: energy = [5,2,-10,-5,1], k = 3
เอาต์พุต: 3
คำอธิบาย: เราสามารถได้รับพลังงานรวม 3 โดยเริ่มจากนักมายากล 1 ดูดซับ 2 + 1 = 3

ตัวอย่างที่ 2:

อินพุต: energy = [-2,-3,-1], k = 2
เอาต์พุต: -1
คำอธิบาย: เราสามารถได้รับพลังงานรวม -1 โดยเริ่มจากนักมายากล 2

ข้อจำกัด:

1 <= energy.length <= 10^5
-1000 <= energy[i] <= 1000
1 <= k <= energy.length - 1

ในดันเจี้ยนลึกลับ n นักมายากลกําลังยืนเรียงแถว นักมายากลแต่ละคนมีคุณสมบัติที่ให้พลังงานแก่คุณ นักมายากลบางคนสามารถให้พลังงานเชิงลบแก่คุณ ซึ่งหมายถึงการเอาพลังงานจากคุณ
คุณถูกสาปในลักษณะที่หลังจากดูดซับพลังงานจากนักมายากล i แล้ว คุณจะถูกส่งไปยังนักมายากล (i + k) ทันที กระบวนการนี้จะทําซ้ําจนกว่าคุณจะไปถึงนักมายากลที่ไม่มี (i + k)
กล่าวอีกนัยหนึ่ง คุณจะเลือกจุดเริ่มต้นแล้วเทเลพอร์ตด้วยการกระโดด k จนกว่าคุณจะไปถึงจุดสิ้นสุดของลําดับของนักมายากล โดยดูดซับพลังงานทั้งหมดระหว่างการเดินทาง
คุณจะได้รับพลังงานอาร์เรย์และจํานวนเต็ม k คืนพลังงานสูงสุดที่คุณจะได้รับ

ตัวอย่างที่ 1:

อินพุต: energy= [5,2,-10,-5,1], k = 3
เอาท์พุต: 3
คําอธิบาย: เราสามารถรับพลังงานรวม 3 โดยเริ่มจากนักมายากล 1 ดูดซับ 2 + 1 = 3

ตัวอย่างที่ 2:

อินพุต: energy = [-2,-3,-1], k = 2
เอาท์พุต: -1
คําอธิบาย: เราสามารถรับพลังงานรวม -1 โดยเริ่มจากนักมายากล 2

ข้อจํากัด:

1 <= energy.length <= 10^5
-1000 <= energy[i] <= 1000
1 <= k <= energy.length - 1


อาร์เรย์จะถือว่าพิเศษหากคู่ขององค์ประกอบที่อยู่ติดกันแต่ละคู่มีตัวเลขสองตัวที่มีพาริตี้ต่างกัน
คุณจะได้รับอาร์เรย์ของจำนวนเต็ม nums คืนค่า true หาก nums เป็นอาร์เรย์พิเศษ มิฉะนั้น คืนค่า false

ตัวอย่างที่ 1:

อินพุต: nums = [1]
เอาต์พุต: true
คำอธิบาย:
มีองค์ประกอบเพียงตัวเดียว ดังนั้นคำตอบคือ true

ตัวอย่างที่ 2:

อินพุต: nums = [2,1,4]
เอาต์พุต: true
คำอธิบาย:
มีเพียงสองคู่: (2,1) และ (1,4) และทั้งคู่มีตัวเลขที่มีพาริตี้ต่างกัน ดังนั้นคำตอบคือ true

ตัวอย่างที่ 3:

อินพุต: nums = [4,3,1,6]
เอาต์พุต: false
คำอธิบาย:
nums[1] และ nums[2] ทั้งคู่เป็นเลขคี่ ดังนั้นคำตอบคือ false

ข้อจำกัด:

1 <= nums.length <= 100
1 <= nums[i] <= 100

An array is considered special if every pair of its adjacent elements contains two numbers with different parity.
You are given an array of integers nums. Return true if nums is a special array, otherwise, return false.

Example 1:

Input: nums = [1]
Output: true
Explanation:
There is only one element. So the answer is true.

Example 2:

Input: nums = [2,1,4]
Output: true
Explanation:
There is only two pairs: (2,1) and (1,4), and both of them contain numbers with different parity. So the answer is true.

Example 3:

Input: nums = [4,3,1,6]
Output: false
Explanation:
nums[1] and nums[2] are both odd. So the answer is false.

Constraints:

1 <= nums.length <= 100
1 <= nums[i] <= 100


คุณได้รับอาเรย์ nums ที่ประกอบด้วยจำนวนเต็มบวกซึ่งทุกจำนวนมีจำนวนหลักเท่ากัน ความแตกต่างของหลักระหว่างจำนวนเต็มสองจำนวนคือจำนวนหลักที่แตกต่างกันซึ่งอยู่ในตำแหน่งเดียวกันในทั้งสองจำนวน คืนค่าผลรวมของความแตกต่างของหลักระหว่างคู่จำนวนเต็มทั้งหมดใน nums

ตัวอย่างที่ 1:

Input: nums = [13,23,12]
Output: 4
คำอธิบาย:
เรามีข้อมูลดังต่อไปนี้:
- ความแตกต่างของหลักระหว่าง 13 และ 23 คือ 1
- ความแตกต่างของหลักระหว่าง 13 และ 12 คือ 1
- ความแตกต่างของหลักระหว่าง 23 และ 12 คือ 2
ดังนั้นผลรวมของความแตกต่างของหลักระหว่างคู่ของจำนวนเต็มทั้งหมดคือ 1 + 1 + 2 = 4

ตัวอย่างที่ 2:

Input: nums = [10,10,10,10]
Output: 0
คำอธิบาย:
จำนวนเต็มทั้งหมดในอาร์เรย์เป็นค่าเดียวกัน ดังนั้นผลรวมของความแตกต่างของหลักระหว่างคู่จำนวนเต็มทั้งหมดจะเป็น 0.

ข้อจำกัด:

2 <= nums.length <= 10^5
1 <= nums[i] < 10^9
ทุกจำนวนเต็มใน nums มีจำนวนหลักเท่ากัน

คุณจะได้รับอาร์เรย์ nums ที่ประกอบด้วยจำนวนเต็มบวก โดยที่จำนวนเต็มทั้งหมดจะมีจำนวนหลักเท่ากัน
ความแตกต่างของหลักระหว่างจำนวนเต็มสองจำนวนคือการนับจำนวนหลักที่แตกต่างกันซึ่งอยู่ในตำแหน่งเดียวกันในจำนวนเต็มสองจำนวนนั้น
ส่งคืนผลรวมของความแตกต่างของหลักระหว่างคู่ของจำนวนเต็มทั้งหมดใน nums

ตัวอย่างที่ 1:

อินพุต: nums = [13,23,12]
เอาต์พุต: 4
คำอธิบาย:
เรามีดังต่อไปนี้:
- ความแตกต่างของหลักระหว่าง 13 และ 23 คือ 1
- ความแตกต่างของหลักระหว่าง 13 และ 12 คือ 1
- ความแตกต่างของหลักระหว่าง 23 และ 12 คือ 2
ดังนั้นผลรวมทั้งหมดของความแตกต่างของหลักระหว่างคู่จำนวนเต็มทั้งหมดคือ 1 + 1 + 2 = 4

ตัวอย่างที่ 2:

อินพุต: nums = [10,10,10,10]
เอาต์พุต: 0
คำอธิบาย:
จำนวนเต็มทั้งหมดในอาร์เรย์นั้นเท่ากัน ดังนั้นผลรวมทั้งหมดของความแตกต่างของตัวเลขระหว่างคู่จำนวนเต็มทั้งหมดจะเป็น 0

ข้อจำกัด:

2 <= nums.length <= 10^5
1 <= nums[i] < 10^9
จำนวนเต็มทั้งหมดใน nums มีจำนวนหลักเท่ากัน

คุณได้รับอาร์เรย์ ￼ ที่ประกอบด้วยจำนวนเต็มบวก ซึ่งจำนวนเต็มทั้งหมดมีจำนวนหลักเท่ากัน
ความแตกต่างของหลัก (digit difference) ระหว่างจำนวนเต็มสองจำนวน คือ จำนวนของหลักที่ต่างกันในตำแหน่งเดียวกันของทั้งสองจำนวน
จงคืนผลรวมของความแตกต่างของหลักระหว่างทุกคู่ของจำนวนเต็มใน ￼

ตัวอย่างที่ 1:

Input:

nums = [13,23,12]

Output:

4

Explanation:
เรามีดังนี้:
	•	ความแตกต่างของหลักระหว่าง 13 และ 23 คือ 1
	•	ความแตกต่างของหลักระหว่าง 13 และ 12 คือ 1
	•	ความแตกต่างของหลักระหว่าง 23 และ 12 คือ 2

ดังนั้น ผลรวมของความแตกต่างของหลักระหว่างทุกคู่ของจำนวนเต็มคือ ￼

ตัวอย่างที่ 2:

Input:

nums = [10,10,10,10]

Output:

0

Explanation:
จำนวนเต็มทั้งหมดในอาร์เรย์เหมือนกัน ดังนั้น ผลรวมของความแตกต่างของหลักระหว่างทุกคู่ของจำนวนเต็มจะเป็น 0

ข้อจำกัด:
	•	2 <= nums.length <= 10^5
• 1 <= nums[i] < 10^9￼￼
	•	จำนวนเต็มทั้งหมดใน ￼ มีจำนวนหลักเท่ากัน


คุณได้รับจำนวนเต็ม k ที่ไม่เป็นลบ มีบันไดที่มีจำนวนขั้นบันไดไม่สิ้นสุด โดยบันไดที่ต่ำที่สุดมีหมายเลข 0
Alice กระโดดเป็นจำนวนเต็ม โดยมีค่าเริ่มต้นเป็น 0 เธอเริ่มต้นที่บันได 1 และต้องการไปถึงบันได k โดยใช้การดำเนินการใดๆ ก็ได้ หากเธออยู่บนบันได i ในการดำเนินการหนึ่งครั้ง เธอสามารถ:

ลงไปที่บันได i - 1 การดำเนินการนี้ไม่สามารถใช้ติดต่อกันหรือบนบันได 0
ขึ้นไปที่บันได i + 2^กระโดด จากนั้น กระโดดจะกลายเป็น กระโดด + 1

ส่งคืนจำนวนวิธีทั้งหมดที่ Alice สามารถไปถึงบันได k ได้
โปรดทราบว่า Alice อาจไปถึงบันได k แล้วดำเนินการบางอย่างเพื่อไปถึงบันได k อีกครั้ง

ตัวอย่างที่ 1:

อินพุต: k = 0
เอาต์พุต: 2
คำอธิบาย:
มี 2 วิธีที่เป็นไปได้ในการไปถึงบันได 0 คือ:

อลิซเริ่มที่บันได 1

โดยใช้การดำเนินการประเภทแรก เธอลงบันได 1 ขั้นเพื่อไปถึงบันได 0

อลิซเริ่มที่บันได 1

โดยใช้การดำเนินการประเภทแรก เธอลงบันได 1 ขั้นเพื่อไปถึงบันได 0
โดยใช้การดำเนินการประเภทที่สอง เธอขึ้นบันได 2^0 ขั้นเพื่อไปถึงบันได 1
โดยใช้การดำเนินการประเภทแรก เธอลงบันได 1 ขั้นเพื่อไปถึงบันได 0

ตัวอย่างที่ 2:

อินพุต: k = 1
เอาต์พุต: 4
คำอธิบาย:
มี 4 วิธีที่เป็นไปได้ในการไปถึงบันได 1 คือ:

อลิซเริ่มที่บันได 1 อลิซอยู่ที่บันได 1
อลิซเริ่มที่บันได 1

โดยใช้การดำเนินการของ แบบแรก เธอลงบันได 1 ขั้นเพื่อไปถึงบันได 0
โดยใช้การดำเนินการแบบที่สอง เธอขึ้นบันได 2^0 ขั้นเพื่อไปถึงบันได 1

อลิซเริ่มที่บันได 1

โดยใช้การดำเนินการแบบที่สอง เธอขึ้นบันได 2^0 ขั้นเพื่อไปถึงบันได 2
โดยใช้การดำเนินการแบบแรก เธอลงบันได 1 ขั้นเพื่อไปถึงบันได 1

อลิซเริ่มที่บันได 1

โดยใช้การดำเนินการแบบแรก เธอลงบันได 1 ขั้นเพื่อไปถึงบันได 0
โดยใช้การดำเนินการแบบที่สอง เธอขึ้นบันได 2^0 ขั้นเพื่อไปถึงบันได 1
โดยใช้การดำเนินการแบบแรก เธอลงบันได 1 ขั้นเพื่อไปถึงบันได 0
โดยใช้การดำเนินการแบบที่สอง เธอขึ้นบันได 2^1 ขั้นเพื่อไปถึงบันได 2
โดยใช้การดำเนินการแบบแรก เธอลงบันได 1 ขั้นเพื่อไปถึงบันได 1.

ข้อจำกัด:

0 <= k <= 10^9

คุณจะได้รับจำนวนเต็มที่ไม่เป็นลบ มีบันไดที่มีจำนวนไม่จำกัด โดยมีบันไดต่ำสุดหมายเลข 0
อลิซมีjumpจำนวนเต็มโดยมีค่าเริ่มต้นที่ 0 เธอเริ่มต้นที่ Stair 1 และต้องการไปถึง Stair K โดยใช้การดำเนินการจำนวนเท่าใดก็ได้ ถ้าเธออยู่บนบันได i ในการดำเนินการครั้งเดียวเธอสามารถทำได้:

ลงไปที่ Stair I - 1 การดำเนินการนี้ไม่สามารถใช้งานได้ติดต่อกันหรือบนบันได 0
ขึ้นไปที่บันได i + 2^กระโดด จากนั้นjumpจะกลายเป็นกระโดด + 1

ส่งคืนจำนวนวิธีทั้งหมดที่อลิซสามารถไปถึงบันไดได้
โปรดทราบว่าเป็นไปได้ว่าอลิซมาถึงบันได K และดำเนินการบางอย่างเพื่อไปยังบันได K อีกครั้ง

ตัวอย่างที่ 1:

อินพุต: k = 0
เอาท์พุท: 2
คำอธิบาย:
2 วิธีที่เป็นไปได้ในการเข้าถึงบันได 0 คือ:

อลิซเริ่มต้นที่บันได 1

ใช้การกระโดดประเภทแรกเธอลงบันได 1 บันไดไปถึงบันได 0

อลิซเริ่มต้นที่บันได 1

ใช้การกระโดดประเภทแรกเธอลงบันได 1 บันไดไปถึงบันได 0
ใช้การกระโดดประเภทที่สองเธอขึ้นบันได 2^0 เพื่อไปถึงบันได 1
ใช้การกระโดดประเภทแรกเธอลงบันได 1 บันไดไปถึงบันได 0

ตัวอย่างที่ 2:

อินพุต: k = 1
เอาท์พุท: 4
คำอธิบาย:
4 วิธีที่เป็นไปได้ในการเข้าถึงบันได 1 คือ:

อลิซเริ่มต้นที่บันได 1. อลิซอยู่ที่บันได 1
อลิซเริ่มต้นที่บันได 1

ใช้การกระโดดประเภทแรกเธอลงบันได 1 บันไดไปถึงบันได 0
ใช้การกระโดดประเภทที่สองเธอขึ้นบันได 2^0 เพื่อไปถึงบันได 1

อลิซเริ่มต้นที่บันได 1

ใช้การกระโดดประเภทที่สองเธอขึ้นบันได 2^0 เพื่อไปถึงบันได 2
ใช้การกระโดดประเภทแรกเธอลงบันได 1 บันไดไปถึงบันได 1

อลิซเริ่มต้นที่บันได 1

ใช้การกระโดดประเภทแรกเธอลงบันได 1 บันไดไปถึงบันได 0
ใช้การกระโดดประเภทที่สองเธอขึ้นบันได 2^0 เพื่อไปถึงบันได 1
ใช้การกระโดดประเภทแรกเธอลงบันได 1 บันไดไปถึงบันได 0
ใช้การกระโดดประเภทที่สองเธอขึ้นบันได 2^1 เพื่อไปยังบันได 2
ใช้การกระโดดประเภทแรกเธอลงบันได 1 บันไดไปถึงบันได 1

ข้อ จำกัด :

0 <= k <= 10^9


คุณมีอาเรย์จำนวนเต็ม 2 อาเรย์ nums1 และ nums2 ที่มีความยาว n และ m ตามลำดับ นอกจากนี้ คุณยังมีจำนวนเต็มบวก k หนึ่งจำนวน
คู่ (i, j) ถูกเรียกว่า "ดี" ถ้า nums1[i] ถูกหารด้วย nums2[j] * k ได้ลงตัว (0 <= i <= n - 1, 0 <= j <= m - 1)
จงส่งคืนจำนวนคู่ที่ดีทั้งหมด

ตัวอย่างที่ 1:

Input: nums1 = [1,3,4], nums2 = [1,3,4], k = 1
Output: 5
คำอธิบาย:
คู่ที่ดี 5 คู่ ได้แก่ (0, 0), (1, 0), (1, 1), (2, 0), และ (2, 2)
ตัวอย่างที่ 2:

Input: nums1 = [1,2,4,12], nums2 = [2,4], k = 3
Output: 2
คำอธิบาย:
คู่ที่ดี 2 คู่ ได้แก่ (3, 0) และ (3, 1)

ข้อจำกัด:

1 <= n, m <= 50
1 <= nums1[i], nums2[j] <= 50
1 <= k <= 50

คุณจะได้รับ 2 จำนวนเต็มอาร์เรย์ nums1 และ nums2 ของความยาว n และ m ตามลำดับ คุณยังได้รับจำนวนเต็มบวก k
คู่ (i, j) เรียกว่าดีถ้า nums1 [i] หารด้วย nums2 [j] * k (0 <= i <= n - 1, 0 <= j <= m - 1)
ส่งคืนจำนวนคู่ที่ดีทั้งหมด

ตัวอย่างที่ 1:

อินพุต: nums1 = [1,3,4], nums2 = [1,3,4], k = 1
เอาท์พุท: 5
คำอธิบาย:
5 คู่ที่ดีคือ (0, 0), (1, 0), (1, 1), (2, 0) และ (2, 2)
ตัวอย่างที่ 2:

อินพุต: nums1 = [1,2,4,12], nums2 = [2,4], k = 3
เอาท์พุท: 2
คำอธิบาย:
2 คู่ที่ดีคือ (3, 0) และ (3, 1)

ข้อ จำกัด :

1 <= n, m <= 50
1 <= nums1 [i], nums2 [j] <= 50
1 <= k <= 50

คุณได้รับอาร์เรย์จำนวนเต็ม 2 ชุด คือ nums1 และ nums2 ที่มีความยาว n และ m ตามลำดับ คุณยังได้รับจำนวนเต็มบวก k ด้วย
คู่ (i, j) จะถูกเรียกว่าดี ถ้า nums1[i] หารด้วย nums2[j] * k ลงตัว (0 <= i <= n - 1, 0 <= j <= m - 1)
ส่งคืนจำนวนคู่ที่ดีทั้งหมด

ตัวอย่างที่ 1:

อินพุต: nums1 = [1,3,4], nums2 = [1,3,4], k = 1
เอาต์พุต: 5
คำอธิบาย:
คู่ที่ดี 5 คู่ ได้แก่ (0, 0), (1, 0), (1, 1), (2, 0) และ (2, 2) ตัวอย่างที่ 2:

อินพุต: nums1 = [1,2,4,12], nums2 = [2,4], k = 3
เอาต์พุต: 2
คำอธิบาย:
คู่ที่ดี 2 คู่คือ (3, 0) และ (3, 1)

ข้อจำกัด:

1 <= n, m <= 50
1 <= nums1[i], nums2[j] <= 50
1 <= k <= 50