描述
一个神奇字符串S仅包含’1’和’2’,并遵守以下规则:

字符串S是神奇的,因为连接字符’1’和’2’的连续出现次数会产生字符串S本身。

字符串S的前几个元素如下:S = “1221121221221121122 …”

如果我们将S中的连续’1’和’2’分组,它将是:

1 22 11 2 1 22 1 22 11 2 11 22 …

并且每组中出现’1’或’2’的情况是:

1 2 2 1 1 2 1 2 2 1 2 2 …

您可以看到上面的出现序列是S本身。

给定一个整数N作为输入,返回神奇字符串S中前N个数字中的’1’的个数。

  • N不会超过100,000。

点击查看 LeetCode/LintCode 题解丨一周爆刷字符串:神奇字符串

样例
例1:

输入: 6
输出: 3
说明:神奇字符串S的前6个元素是“12211”,它包含3个1,所以返回3。

例2:

输入: 3
输出: 1
说明:神奇字符串S的前3个元素是“122”,它包含1个1,所以返回1。

点击查看更多字符串题集及解题思路

点击查看更多双指针题集及解题思路

LeetCode/LintCode 题解丨一周爆刷字符串:神奇字符串相关推荐

  1. LeetCode/LintCode 题解丨一周爆刷字符串:URL 编码

    描述 给出一个代表网址 host 的字符串 base_url,和代表查询参数的列表 query_params_list,你需要返回带查询参数的完整 URL. 查询参数列表由一些包含两个元素的数组组成, ...

  2. LeetCode/LintCode 题解丨一周爆刷双指针:最小范围

    描述 有k个升序排列的数组,寻找一个最小范围,使每个数组中至少有一个元素被包含. 范围[a,b]比范围[c,d]小,当且仅当b-a < d-c,或是a < c且b-a == d-c. 给定 ...

  3. LeetCode/LintCode 题解丨一周爆刷字符串:简化路径

    描述 给定一个文件的绝对路径(Unix-style),请进行路径简化. Unix中, . 表示当前目录, - 表示父目录. 结果必须以 / 开头,并且两个目录名之间有且只有一个 /.最后一个目录名(如 ...

  4. LeetCode/LintCode 题解丨一周爆刷双指针:神奇字符串

    描述 一个神奇字符串S仅包含'1'和'2',并遵守以下规则: 字符串S是神奇的,因为连接字符'1'和'2'的连续出现次数会产生字符串S本身. 字符串S的前几个元素如下:S = "122112 ...

  5. LeetCode/LintCode 题解丨一周爆刷字符串:乱序字符串

    描述 给出一个字符串数组S,找到其中所有的乱序字符串(Anagram). 如果一个字符串是乱序字符串,那么他存在一个字母集合相同. 但顺序不同的字符串也在S中. 所有的字符串都只包含小写字母. 点击查 ...

  6. LeetCode/LintCode 题解丨一周爆刷字符串:旋转字符数组

    描述 给定一个字符数组 s 和一个偏移量,根据偏移量原地旋转字符数组(从左向右旋转). offset >= 0 s 的长度 >= 0 原地旋转意味着需要在函数中更改字符数组 s.你不需要返 ...

  7. LeetCode/LintCode 题解丨一周爆刷双指针: 两数之和

    描述 给一个整数数组,找到两个数使得他们的和等于一个给定的数 target. 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标.注意这里下标的范围是 0 到 n-1. ...

  8. LeetCode/LintCode 题解丨一周爆刷双指针:寻找重复的数

    描述 给出一个数组 nums 包含 n + 1 个整数,每个整数是从 1 到 n (包括边界). 保证至少存在一个重复的整数.假设只有一个重复的整数,找出这个重复的数. 不能修改数组(假设数组只能读) ...

  9. LeetCode/LintCode 题解丨一周爆刷双指针:K个空的位置

    描述: 一个花园有N个位置.每个位置上有一朵花. 这N朵花会在N天内逐一盛开.每天都一定会有并且只有一朵花盛开,从这天起,这朵花将一直处于盛开的状态. 给定一个由数字1到N组成的数组flowers.数 ...

最新文章

  1. Flask中实现数据库的增删改查
  2. NIPS 2018论文解读 | 基于条件对抗网络的领域自适应方法
  3. SqlServer与.NET的数据类型映射关系图
  4. mysql replicate error
  5. SCCM2012 R2集成WSUS服务器-4:部署软件更新组
  6. c语言api函数写病毒,C语言病毒代码,及写病毒简单介绍
  7. linux bttrack服务,使用Docker安装OpenTracker,自建BT Tracker服务器
  8. window7 64位 myeclipse9.0破解步骤
  9. 巨蟒django之CRM2 展示客户列表分页
  10. TreeList显示CheckBox
  11. 2016美国QCon思考:通过Quora和Spotify案例,直击数据处理背后的魅影
  12. java get resttemplate 请求传递数组_Java面试中遇到的坑【4】
  13. 如何在python中安装包_如何给python安装包
  14. R语言导入TXT数据,最简单明了!!!
  15. 中国公开课《如何培养孩子的学习兴趣》2020 郑日昌 观后感
  16. 情侣博客源码php,分享超炫的表白页面和爱的纪念日源码
  17. C/C++编程学习 - 第6周 ⑦ 分离整数的各个数位
  18. 软件开发:项目设计思路(流程、功能方法和数据结构)
  19. python中ndarray对象_学习python的第二十二天(numpy模块(对矩阵的处理,ndarray对象)
  20. 玩转云端(云服务器使用详解)

热门文章

  1. solr引入mysql数据库数据,出现Requests: 1, Fetched: 0, Skipped: 0, Processed: 0
  2. c语言指针关键字,C语言关键字const和指针的结合使用
  3. Java项目员工信息管理系统
  4. 160多个android开源代码汇总
  5. 新日+苏宁O2O,电动车市迎来智慧零售新时代
  6. ORACLE之热备份
  7. Iphone解锁步骤
  8. Android把图片保存为pdf文件(附带iTextpdf.jar)
  9. redis的客户端medis
  10. Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operat