关注
js版 // arr为绳长数组, m为需要裁剪成的绳数
var longestRope = function(arr, m) {
arr.sort((a, b) => {
return a - b
})
let lower = 0
let higher = arr[arr.length - 1]
while((higher - lower) > 0.001) {
let mid = (lower + higher) / 2
if (enough(arr, m, mid)) {
lower = mid
} else {
higher = mid
}
}
return toDecimal(lower, 2)
}
function enough(arr, m, ropeLength) {
let sum = 0
let len = arr.length
for(let i = 0; i < len; i ++) {
sum += parseInt(arr[i] / ropeLength)
if (sum >= m) {
return true
}
}
return false
}
// 保留n位小数,不足补0
function toDecimal(number, n) {
number = number.toFixed(n)
let index = number.indexOf('.')
if (index < 0) {
index = s.length
number += '.'
}
while (number.length <= index + n) {
number += '0'
}
return number
}
// 测试用例
let arr = [3, 4, 5]
console.log(longestRope(arr, 4)) // 2.50
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
10-15 16:40
河南科技大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 找工作能把i人逼成什么样 #
12763次浏览 160人参与
# 0经验如何找实习? #
24971次浏览 428人参与
# 你今年做了几份实习? #
8500次浏览 132人参与
# 大学最后一个寒假,我想…… #
71723次浏览 723人参与
# 你开始找寒假实习了吗? #
14407次浏览 204人参与
# 大家每天通勤多久? #
64112次浏览 413人参与
# 你找工作经历过哪些骗局? #
8962次浏览 137人参与
# 大厂面试初体验 #
83211次浏览 378人参与
# 产品人求职现状 #
297771次浏览 2360人参与
# 央国企投递记录 #
165830次浏览 1622人参与
# 字节出了豆包coding模型 #
6687次浏览 59人参与
# 面试尴尬现场 #
204105次浏览 802人参与
# 25年找工作是什么难度? #
14841次浏览 147人参与
# 一起聊华为 #
167690次浏览 816人参与
# 实习越久越好,还是多多益善? #
17200次浏览 166人参与
# 一上班就想____,这正常吗? #
4908次浏览 91人参与
# 度小满求职进展汇总 #
17758次浏览 89人参与
# AMA #
3761次浏览 21人参与
# 如何KTV领导 #
80432次浏览 521人参与
# 说说你知道的学历厂 #
369572次浏览 1327人参与