[7kyu]Battle of the characters (Easy)

該算法題來自于 codewars【語言: javascript】,翻譯如有誤差,敬請諒解~

  • 任務(wù)
    • 創(chuàng)建函數(shù)接收2個變量,比較并返回一個更大的變量。
  • 規(guī)則:
    1.每個字母都有自己的權(quán)重:A = 1,B = 2,... Y = 25,Z = 26以此類推。
    2.只有大寫字母能進(jìn)行比較。
    3.總數(shù)(A + B + C + ...)大的一組被返回。
    4.如果兩個組的值一樣大,則返回 “Tie!”。

  • 解答
  • 其一
const sum = str => [...str].map(el=>el.charCodeAt()).reduce((r,v)=>r+v,0);
const battle = (x, y) => sum(x) == sum(y) ? 'Tie!' :( sum(x) > sum(y) ? x : y);
  • 其二
const total = word => [...word].reduce((a,b)=>a+(b.charCodeAt()),0)
const battle = (x, y) => total(x) > total(y) ? x : total(y) > total(x) ? y : 'Tie!'
  • 其三
function battle(x, y) {
      var sumx =0;
      var i = x.length;
      while (i--) {
        sumx += x.charCodeAt(i);
      }  
      var sumy =0;
      i = y.length;
      while (i--) {
        sumy += y.charCodeAt(i);
      }  
      if (sumx == sumy) return 'Tie!';  
      return sumx > sumy ? x: y;
}
  • 其四
function battle(x, y) { 
      let r1 = x.split('').reduce( (a,b) => a+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(b),0);
      let r2 = y.split('').reduce( (a,b) => a+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(b),0);
      return r1 > r2 ? x : r1 < r2 ? y : "Tie!";
}
  • 其五
function battle(x, y) {
      var s1 = 0;
      var s2 = 0;
      x.split("").forEach(function(value){
        s1+=value.charCodeAt()-96;
      });
      y.split("").forEach(function(value){
        s2+=value.charCodeAt()-96;
      });
      return s1>s2? x:s1<s2?y:'Tie!'
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,927評論 0 33
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile麗語閱讀 4,104評論 0 6
  • 渲染: 1 當(dāng)前屏幕渲染:在GPU的當(dāng)前屏幕緩沖區(qū)中進(jìn)行的渲染 2 離屏渲染:在GPU當(dāng)前屏幕緩沖區(qū)外另建緩沖區(qū)渲...
    adrian920閱讀 447評論 0 0
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,740評論 18 399
  • 今天是國慶假最后一天,我準(zhǔn)備返校,卻被困在了半路上—— 一小時前我還在候車廳里,看著眼前的人一批走掉一批又來,一批...
    半座城閱讀 1,613評論 0 2

友情鏈接更多精彩內(nèi)容