We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1904. 你完成的完整对局数
function numberOfRounds(loginTime: string, logoutTime: string): number { //在 HH:00、HH:15、HH:30 和 HH:45 ,将会开始一个新的对局 const [loginTimeHour, loginTimeMinute] = loginTime.split(':').map(Number); const [logoutTimeHour, logoutTimeMinute] = logoutTime.split(':').map(Number); // 统一转成分钟 const loginStartMinute = loginTimeHour * 60 + loginTimeMinute; let logoutEndMinute = logoutTimeHour * 60 + logoutTimeMinute; // 特殊场景, finishTime 早于 startTime if (logoutEndMinute < loginStartMinute) { logoutEndMinute += 24 * 60; } // 分析 // 13分钟....67分钟, 这个时间段中, 存在3个满足要求的对局: 15->30->45->60 // 接着分析首尾的时间 // 首: 13/15 向上取整是1 向下取整是0 // 尾: 67/15 向上取整是5 向下取整是4 // 如何对上我们的结果3呢, 就是要取:尾向下取整(4)-首向上取整(1) === 3 // 特殊场景: 47...57 (区间差值小于15) // 首: 47/15 向上取整是4 向下取整是3 // 尾: 57/15 向上取整是4 向下取整是3 // 如果按照 3-4 === -1, 结果就不对,应该是0 // 于是需要特殊处理 const res = Math.floor(logoutEndMinute / 15) - Math.ceil(loginStartMinute / 15); return res === -1 ? 0 : res; };
The text was updated successfully, but these errors were encountered:
No branches or pull requests
1904. 你完成的完整对局数
The text was updated successfully, but these errors were encountered: