
maximumExpression
Cho một mảng chứa các số nguyên không âm
Bạn có thể tạo ra biểu thức dạng A+B+C+...=X
với các luật như sau:
- Xếp các số nguyên đã cho cạnh nhau để tạo ra số mới, nhưng số
0
không đc ghép đằng trước một số khác (ví dụ số12
và số0
có thể ghép thành số120
, số12
và34
có thể ghép thành số1234
hoặc3412
) Chú ý không đc xếp số này vào giữa số khác (Ví dụ12
và34
thì ko ghép đc thành số1342
) - Được thêm 1 số dấu
+
vào giữa hai số nguyên (ko thêm dấu+
vào giữa 1 số nguyên nào đó. Ví dụ sau khi ghép12
với34
thành số1234
thì ko đc thêm dấu+
thành1+234
, hoặc không đc thêm+
vào giữa số12
thành1+2
, chỉ đc thêm dấu+
vào giữa12
và34
thành12 + 34
) - Trong biểu thức chỉ chứa duy nhất 1 dấu
=
- Biểu thức phải chứa ít nhất 1 dấu
+
Hãy sử dụng các số đã cho (mỗi số phải và chỉ được dùng 1 lần) để tạo ra biểu thức có giá trị lớn nhất. Nếu không, hãy trả ra số -1
Ví dụ:
- Với
arr=[1, 2, 3]
, kết quảmaximumExpression(arr)=3
Bạn có thể tạo ra biểu thức1+2=3
- Với
arr=[1,1,1]
, kết quảmaximumExpression(arr)=-1
Bạn không thể tạo ra biểu thức nào - Với
arr=[1,2,3,24]
, kết quảmaximumExpression(arr)=24
Bạn có thể tạo ra biểu thức21+3=24
Đầu ra/đầu vào:
- Thời gian chạy: 1s
- Đầu vào: array.interger arr
Mảng chứa các số nguyên không âm0 <= arr.length() <= 15
0 <= arr[i] < 1000
- Đầu ra: integer64
Số nguyên thể hiện kết quả lớn nhất của biểu thức, nếu không thì hãy trả ra số-1
Đảm bảo đáp án nằm trong kiểu integer 64 bit (nếu có đáp án)
Post Comment