LeetCode(806)——写字符串需要的行数(JavaScript)
我们要把给定的字符串 S
从左到右写到每一行上,每一行的最大宽度为100个单位,如果我们在写某个字母的时候会使这行超过了100 个单位,那么我们应该把这个字母写到下一行。我们给定了一个数组 widths
,这个数组 widths[0] 代表 ‘a’ 需要的单位, widths[1] 代表 ‘b’ 需要的单位,…, widths[25] 代表 ‘z’ 需要的单位。
现在回答两个问题:至少多少行能放下S
,以及最后一行使用的宽度是多少个单位?将你的答案作为长度为2的整数列表返回。
示例1:
输入:
widths = [10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]
S = “abcdefghijklmnopqrstuvwxyz”
输出: [3, 60]
解释:
所有的字符拥有相同的占用单位10。所以书写所有的26个字母,
我们需要2个整行和占用60个单位的一行。
示例2:
输入:
widths = [4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]
S = “bbbcccdddaaa”
输出: [2, 4]
解释:
除去字母’a’所有的字符都是相同的单位10,并且字符串 “bbbcccdddaa” 将会覆盖 9 * 10 + 2 * 4 = 98 个单位.
最后一个字母 ‘a’ 将会被写到第二行,因为第一行只剩下2个单位了。
所以,这个答案是2行,第二行有4个单位宽度。
注:
- 字符串
S
的长度在[1, 1000]
的范围。 S
只包含小写字母。widths
是长度为26
的数组。widths[i]
值的范围在[2, 10]
。
/*** @param {number[]} widths* @param {string} S* @return {number[]}*/
var numberOfLines = function(widths, S) {};
个人解法
var numberOfLines = function(widths, S) {var result = [],row = 1,danwei = 0;S = S.split("");while(S.length !== 0){if(danwei + widths[S[0].charCodeAt() - 97] > 100){row++;danwei = widths[S[0].charCodeAt() - 97];}else{danwei += widths[S[0].charCodeAt() - 97];}S.shift();}result.push(row);result.push(danwei);return result;
};
LeetCode(806)——写字符串需要的行数(JavaScript)相关推荐
- Python入门练习题026:字符串写入的行数
""" 记录下自己自学python和练习写的代码,等以后进阶后,再回来看一下曾经自己写的代码有多蠢Python入门练习题026:字符串写入的行数 把字符串S字符写入行中, ...
- mysql+影响的行数+获取_CI中获取读操作的结果集行数+获取写操作的影响行数
本质:读操作,用mysql_num_rows函数,写操作用mysql_affected_rows函数 mysql_num_rows() 返回结果集中行的数目.此命令仅对 SELECT 语句有效.要取得 ...
- shell 字符串出现的行数
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 1 查询 ...
- Linux 统计多个文件中 某字符串出现的行数
cat log_0 log_1 log_2 log_3 log_4 log_5 log_6 log_7 log_8 log_9 | grep "object has no attribute ...
- C++统计博客园写过的代码行数
一.获得数据 1.备份到XML 2.改为txt 2.进行统计 #include<iostream> #include<string> using namespace std; ...
- Leetcode06.将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。
文章目录 一.题目 二.数学规律法解题思路 1.特殊情况 2.进行周期分析 3.同行相邻点的位置分析 4.注意事项 5.代码实现 三.模拟法 一.题目 将一个给定字符串 s 根据给定的行数 numRo ...
- shell截取文件行数_shell查找某字符串在某文件中出现行数的方法
一.简介 有的时候,我们需要分析日志来排查错误,但是日志文件特别大,打开肯定是很慢的,也是没法接受的,我们需要的是快速定位错误出现的位置,并定向取出错误信息. 快速定位某个字符串在某文件中出现的行数, ...
- java 只显示文本文件_Java设计并实现一个应用程序,能够读取一个文本文件中的内容并显示,同时能够计算出文本中的行数。...
展开全部 java编写显示文本的应用程序, 需要用到图形界面GUI编程技术. 步骤一: 需要搭建一个整体的外观32313133353236313431303231363533e4b893e5b19e3 ...
- 代码行数统计工具SourceCounter
下载地址:http://code.google.com/p/boomworks/wiki/SourceCounterCN 很容易就能统计出你写的代码的行数,只需要导入目录即可. 转载于:https:/ ...
最新文章
- 使用二维高斯函数模糊图片
- 解决oracle ORA-01078,LRM-00109故障一例!
- 中业科技机器人价格_2019年年中盘点:智能扫地机器人十大畅销品牌排名
- webgl 着色器_如何在WebAssembly中使用WebGL着色器
- qtdesigner 组件全吗_显示屏种类这么多,你知道怎么分类吗?
- 骨牌铺方格(HDU-2046)
- python 的csr_python - 以便携式数据形式保存/加载scipy稀疏csr_matrix
- poj 1032 Parliament 编程的小技巧
- 新浪微博的Tab滑动效果
- C# 从零开始编写一个修改“植物大战僵尸”阳光的内存辅助
- oracle同义词只有谁可以使用,oracle 同义词(synonym)
- 《孽海记·思凡》唱段·风吹荷叶煞
- Python设置32位环境
- smart bi 学习
- 在Oracle DevGym上学习cx_Oracle的笔记
- 思维导图学习3——思维导图示例
- docker部署微服务
- 苹果M1 Mac 如何卸载 iPhone 和 iPad 应用程序?
- 阿里云商标查询小程序有用过的没?感觉还可以呀
- java判断时间段是否交叉重叠
热门文章
- 004_wireshark专题
- 面向对象的tab选项卡实现
- 配置 Oracle 11gR2 在 CentOS6 上开机自启动
- windows下mysql备份脚本
- “错题集”帮你期末考试冲向满分
- Lucene分词初探---LetterTokenizer
- 夜深,你的手机为谁而开
- vue返回上级并且携带数据_前后端分离之后端返回用户角色信息(vueelementadmin+laravel)...
- php 双问号 语法,JS 新语法「可选链」「双问号」已进入 Stage 3
- python的数据模型_python高级(一)—— python数据模型(特殊方法)