博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
806. Number of Lines To Write String
阅读量:6838 次
发布时间:2019-06-26

本文共 1499 字,大约阅读时间需要 4 分钟。

806. Number of Lines To Write String

整体思路:
  1. 先得到一个res = {a : 80 , b : 10, c : 20.....的key-value对象}(目的是当调用res["a"]时得到一个等于10的值);
  2. 遍历传入的字符串,把每个元素带入到res中,并把所有的值进行累加;得到一个累加值sum,如:sum= sum + res["a"] + res["b"] + res["c"]....+res["z"];
  3. 当sum>100时,例如res["a"] + res["b"] + res["c"] =110,大于100,此时第一行应该只有res["a"]和res["b"],将flag加1,同时给sum赋值为当前的res[S[i]]值,sum重新开始下一行计数;
1 var numberOfLines = function (widths, S) { 2     let letterArr = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]; 3     let res = {}; 4     let sum = 0; 5     // flag要从1开始计数,不满一行按一行计算 6     let flag = 1; 7  8     letterArr.forEach((item, index) => { 9         //item 表示letterArr中的每个元素10         //index 表示letterArr中的每个元素的索引值11         // 得到一个对象{ a: 10,......}12         res[item] = widths[index];13     });14     // 遍历传入的字符串,拿到每一个字母15     for (let i = 0; i < S.length; i++) {16         sum = sum + res[S[i]];17         //当累加的和大于100时,也就是超出一行18         if (sum > 100) {19             flag++;20             //给sum赋值为当前的res[S[i]],sum重新开始下一行计数21             sum = res[S[i]];22         } else if (sum == 100) {23             flag++;24             sum = 0;25         }26     }27     return [flag, sum];28 29 };30 31 32 var widths = [10, 10, 10, 10, 13, 13, 13, 10, 7, 8, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10]33 var S = "abcdefghijklmnopqrstuvwxyz";34 console.log(numberOfLines(widths, S));

 

转载于:https://www.cnblogs.com/MisterZZL/p/10693979.html

你可能感兴趣的文章
浅谈Linux的内存管理机制
查看>>
Linux中断概述
查看>>
ubuntu 安装RPM软件包
查看>>
controller的frame
查看>>
c++实现队列
查看>>
Linux系统介绍(二)文件系统结构
查看>>
面试题目(1)
查看>>
描述一下Spring框架的作用和优点?
查看>>
二十五:设计模式的总结
查看>>
【HDOJ】1058 Humble Numbers
查看>>
【原创翻译】The Case for the Reduced Instruction Set Computer
查看>>
使用asp.net MVC4中的Bundle遇到的问题及解决办法
查看>>
js 全选,反选
查看>>
Android与iOS:谁更适合HTML 5?
查看>>
网络报错:“The connection is not for this device.”
查看>>
Java基础-Java中的堆内存和离堆内存机制
查看>>
Lists
查看>>
洛谷P1027 Car的旅行路线 计算几何 图论最短路
查看>>
MWC2015中的LTE软基站(转自GeeFlex)
查看>>
BurpSuite日志分析过滤工具,加快SqlMap进行批量扫描的速度
查看>>