计数二进制子串


export default (str) => {
  // 建立数据结构,堆栈,保存数据
  let r = []
  // 给定任意子输入都返回第一个符合条件的子串
  let match = (str) => {
    let j = str.match(/^(0+|1+)/)[0]
    let o = (j[0] ^ 1).toString().repeat(j.length)
    let reg = new RegExp(`^(${j}${o})`)
    if (reg.test(str)) {
      return RegExp.$1
    } else {
      return ''
    }
  }
  // 通过for循环控制程序运行的流程
  for (let i = 0, len = str.length - 1; i < len; i++) {
    let sub = match(str.slice(i))
    if (sub) {
      r.push(sub)
    }
  }
  return r
}

原文地址:https://www.cnblogs.com/ygjzs/p/12233873.html

时间: 2024-10-17 00:05:17

计数二进制子串的相关文章

leet

# 题名1 两数之和    2 两数相加    3 无重复字符的最长子串    4 寻找两个有序数组的中位数    5 最长回文子串    6 Z 字形变换    7 整数反转    8 字符串转换整数 (atoi)    9 回文数    10 正则表达式匹配    11 盛最多水的容器    12 整数转罗马数字    13 罗马数字转整数    14 最长公共前缀    15 三数之和    16 最接近的三数之和    17 电话号码的字母组合    18 四数之和    19 删除链表

erlang二进制数据垃圾回收机制

erlang二进制数据在内存中有两种存在形式,当数据大小不到 64 bytes,就直接存在进程堆内.假设超过了64 bytes.就被保存到进程外的共享堆里,能够给节点内全部进程共享. erlang有两种二进制容器:heap binaries和refc binaries. heap binaries Heap binaries are small binaries, up to 64 bytes, that are stored directly on the process heap. They

HDU 4125 Moles 线段树+KMP

题意: 给定n, 下面是1-n的排列. 下面一个二进制子串. 先按给定的排列建出二叉树. 然后遍历树(根->左子树->根->右子树->根) 遍历这个节点时 若权值为奇数入栈一个1,若为偶数入栈一个0 得到一个母串. 问母串中出现了几次子串. 思路: 先是建树得到母串,然后求子串个数就是裸的KMP. 建树就是找个规律,然后用线段树维护一下输入的排列 #include <cstdio> #include <cstring> #include <iostre

hbase查询,scan详解

一.shell 查询 hbase 查询相当简单,提供了get和scan两种方式,也不存在多表联合查询的问题.复杂查询需通过hive创建相应外部表,用sql语句自动生成mapreduce进行.但是这种简单,有时为了达到目的,也不是那么顺手.至少和sql查询方式相差较大. hbase 提供了很多过滤器,可对行键,列,值进行过滤.过滤方式可以是子串,二进制,前缀,正则比较等.条件可以是AND,OR等 组合.所以通过过滤,还是能满足需求,找到正确的结果的. 1.1 过滤器类型 HBase 最新官方文档中

4455[Zjoi2016]小星星 容斥+dp

4455: [Zjoi2016]小星星 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 527  Solved: 317[Submit][Status][Discuss] Description 小Y是一个心灵手巧的女孩子,她喜欢手工制作一些小饰品.她有n颗小星星,用m条彩色的细线串了起来,每条细 线连着两颗小星星.有一天她发现,她的饰品被破坏了,很多细线都被拆掉了.这个饰品只剩下了n?1条细线,但 通过这些细线,这颗小星星还是被串在一起,也就是这

BJOI2018爆零记

没啥可说的 Day1 0分 T1 给你一个二进制串,每次修改一个位置,询问[l,r]区间中有多少二进制子串重排后能被3整除 T2 一个无向图(无重边自环)每个点有一个包含两种颜色的染色集合,一个边的两个端点颜色不能相同,求该图是否满足无论每个点的集合怎么给都能染色 T3 求树上一条路径上所有点深度k次方之和 T3由于k<=50所以是一道NOIP题...听老师说题目是按字典序排的 T1知道了二进制膜3的性质之后搞一个set维护01状况即可 T2不是二分图显然不行,是二分图有几种特判 听上去一副可以

【暴力Treap 或 离线归并】子串计数(genies)

子串计数(genies) Description 给出一段含有n个元素的序列a,要求求出子串和小于等于t的子串个数 Input Data 输入共两行第一行包含两个整数,n,t分别表示序列a元素的个数和限制t第二行包含n个数表示元素a_i Output Data 共一行,含一个数表示子串和小于等于t的子串个数.  Input / Output Sample input #1: 5 4 5 -1 3 4 -1 output #1:7 Solution: 一道妙题,首先分析性质.如果从L+1到R可以构

vijosP1567子串计数

描述现在有一个字符串,请求出这个字符串不相同的子串个数.YXY现在不会做,请你来帮忙…… n<=20W 题解: 后缀数组裸题,其实我在练习模板写对了没 代码: 1 #include<cstdio> 2 #include<cstdlib> 3 #include<cmath> 4 #include<cstring> 5 #include<algorithm> 6 #include<iostream> 7 #include<ve

统计数n转换为二进制后包含1的个数

思路: 判断最低位是否为1,然后右移一位,这样次低位就位于最低位的位置,然后继续判断最低位 1 int numberOf1(unsigned int n){ 2 int cnt = 0; 3 while(n){ 4 if(n & 1) 5 cnt++; 6 n >>= 1; 7 } 8 return cnt; 9 } 1 int numberOf1(unsigned int n){ 2 int cnt = 0; 3 while(n > 0){ 4 n &= n - 1;