From d22b67f1eb408f3d5d641624b5c0a5990e55a984 Mon Sep 17 00:00:00 2001 From: Pisces000221 <1786762946@qq.com> Date: Thu, 27 Jul 2017 11:09:18 +0800 Subject: [PATCH] Improve automatic testcases sorting --- utility.js | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/utility.js b/utility.js index 2f3384f..d4ce31f 100644 --- a/utility.js +++ b/utility.js @@ -245,14 +245,8 @@ module.exports = { res[0].type = 'sum'; res[0].score = 100; res[0].cases.sort((a, b) => { - function getLastInteger(s) { - let re = /(\d+)\D*$/; - let x = re.exec(s); - if (x) return parseInt(x[1]); - else return -1; - } - - return getLastInteger(a.input) - getLastInteger(b.input); + let extractNumerals = (s) => (s.match(/\d+/g) || []).map((x) => parseInt(x)).concat(s); + return extractNumerals(a.input) < extractNumerals(b.input) ? -1 : +1; }); res.spj = list.some(s => s.startsWith('spj_'));