Cho chuỗi chỉ chứa '+' và '-'. Quy tắc trung hòa:
++→+--→++-hoặc-+→-
Áp dụng liên tiếp từ trái sang phải để có kết quả cuối cùng.
Ví dụ
Chuỗi: '+++-+-++---+-+--+-'
Giải pháp
Mã triển khai (reduce):
const str = '+++-+-++---+-+--+-';
const netResult = (str = '') => {
return str.split('').reduce((acc, val) => {
// Nếu hai dấu giống nhau → '+', khác nhau → '-'
return acc === val ? '+' : '-';
});
};
console.log(netResult(str));
Kết quả
Đầu ra trong console:
-
Giải thích: Tương tự phép nhân dấu: cùng dấu = dương (+), khác dấu = âm (-).