我对JavaScript仍然有点新意,所以如果有人想解释如何解决这个小问题.
基本上,我使用不同的语言来解决训练任务.我在使用java脚本,浮点时遇到了小问题.这是我的意思的例子.有问题的任务在第3课,第一项:CountDiv
在Java中,我的解决方案完美无缺,得分为100/100.这是代码:
class Solution {
public int solution(int A, int B, int K) {
int offset = A % K ==0?1:0;
return (B/K) - (A/K) + offset;
}
}
Run Code Online (Sandbox Code Playgroud)
用java脚本编写的代码得分为75/100.
function solution(A, B, K) {
var offset;
if (A % K === 0) {
offset=1;
} else {
offset=0;
}
var result =(B/K) - (A/K) + offset;
return parseInt(result);
}
Run Code Online (Sandbox Code Playgroud)
JavaScript测试在以下测试中失败:A = 11,B = 345,K = 17(返回19,期望20)
我假设它与JavaScript如何将浮点转换为整数有关?
如果有人关心如何正确编写JS解决方案?
谢谢
用于parseInt除法结果.
当您使用除法运算符时,结果将强制转换为浮点数,以使其整数使用parseInt.(感谢@ahmacleod)
function solution(A, B, K) {
var offset = A % K === 0 ? 1 : 0;
return parseInt(B / K) - parseInt(A / K) + offset;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1386 次 |
| 最近记录: |