【算法题】开源项目热度榜单(js)





解法

js 复制代码
const lines = [
  "4",
  "8 6 2 8 6",
  "camila 66 70 46 158 80",
  "victoria 94 76 86 189 211",
  "athony 29 17 83 21 48",
  "emily 53 97 1 19 218",
];
const lines2 = [
  "5",
  "5 6 6 1 2",
  "camila 13 88 46 26 169",
  "grace 64 38 87 23 103",
  "lucas 91 79 98 154 79",
  "leo 29 27 36 43 178",
  "ava 29 27 36 43 178",
];

function solution(lines) {
  const personNum = parseInt(lines[0]);
  const weights = lines[1].split(" ").map((item) => parseInt(item));
  const projects = [];
  function countHot(weights, list) {
    console.log(weights, list);
    let sum = 0;
    for (let j = 0; j < weights.length; j++) {
      sum += weights[j] * list[j];
    }
    return sum;
  }
  for (let i = 2; i < 2 + personNum; i++) {
    const arr = lines[i].split(" ");
    const name = arr.shift();
    const list = arr.map((item) => parseInt(item));
    const hot = countHot(weights, list);
    projects.push({
      name,
      list,
      hot,
    });
  }
  console.log("projects", projects);
  const results = projects.sort((a, b) =>
    a.hot !== b.hot ? b.hot - a.hot : a.name.localeCompare(b.name)
  );
  console.log("results", results);
  return results.map((item) => item.name).join("\n");
}

console.log(solution(lines2));
/* 
    "4",
    "8 6 2 8 6",
    "camila 66 70 46 158 80",
    "victoria 94 76 86 189 211",
    "athony 29 17 83 21 48",
    "emily 53 97 1 19 218",
=>
victoria
camila
emily
athony


    "5",
    "5 6 6 1 2",
    "camila 13 88 46 26 169",
    "grace  64 38 87 23 103",
    "lucas 91 79 98 154 79",
    "leo 29 27 36 43 178",
    "ava 29 27 36 43 178",
=>
 lucas
 grace
 camila
 ava
 leo

 */
相关推荐
NAGNIP1 天前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
程序猿的程1 天前
开源一个 React 股票 K 线图组件,传个股票代码就能画图
前端·javascript
大雨还洅下1 天前
前端JS: 虚拟dom是什么? 原理? 优缺点?
javascript
唐叔在学习1 天前
[前端特效] 左滑显示按钮的实现介绍
前端·javascript
青青家的小灰灰1 天前
深入理解事件循环:异步编程的基石
前端·javascript·面试
前端Hardy1 天前
HTML&CSS&JS:打造丝滑的3D彩纸飘落特效
前端·javascript·css
前端Hardy1 天前
HTML&CSS&JS:丝滑无卡顿的明暗主题切换
javascript·css·html
UIUV1 天前
node:child_process spawn 模块学习笔记
javascript·后端·node.js
烛阴1 天前
Three.js 零基础入门:手把手打造交互式 3D 几何体展示系统
javascript·webgl·three.js
颜酱1 天前
单调栈:从模板到实战
javascript·后端·算法