【从零开始的LeetCode-算法】3211. 生成不含相邻零的二进制字符串

news/2024/10/30 10:09:33/

给你一个正整数 n

如果一个二进制字符串 x 的所有长度为 2 的

子字符串

中包含 至少 一个 "1",则称 x 是一个 有效 字符串。

返回所有长度为 n 的 有效 字符串,可以以任意顺序排列。

示例 1:

输入: n = 3

输出: ["010","011","101","110","111"]

解释:

长度为 3 的有效字符串有:"010""011""101""110" 和 "111"

示例 2:

输入: n = 1

输出: ["0","1"]

解释:

长度为 1 的有效字符串有:"0" 和 "1"

提示:

  • 1 <= n <= 18

 我的解答:

java">class Solution {public List<String> validStrings(int n) {List<String> list = new ArrayList<String>();if(n == 1){list.add("0");list.add("1");return list;}int num = (int)Math.pow(2,n) - 1;StringBuilder sb = new StringBuilder(n);for(int i = 0; i < n ; i++){sb.append("0");}for(int i = 1; i <= num ; i++){// 将数值转换为二进制字符串String str = Integer.toBinaryString(i);// 二进制字符串长度小于等于n-2,即前两位为0,不符合长度为2的子字符串包含至少一个“1”if(str.length() <= n - 2) continue;sb.replace(n - str.length(),n,str);boolean isTrue = true;for(int j = 0; j < n - 1 ; j++){// 如果相邻元素都为0,则标识不符合条件并退出循环if(sb.charAt(j) == '0' && sb.charAt(j + 1) == '0') {isTrue = false;break;}}if(isTrue){list.add(sb.toString());}}return list;}
}

 


http://www.ppmy.cn/news/1543072.html

相关文章

信息输出组件(FITKCompMessageWidget)

在平台开发中&#xff0c;用户界面&#xff08;UI&#xff09;的友好性和交互性直接关系到应用程序的用户体验和满意度。一个高效、直观的信息展示机制&#xff0c;不仅能够提升用户的操作效率&#xff0c;还能在关键时刻为用户提供必要的指导和反馈。为了满足这一需求&#xf…

5G网络中RLC层及其切割简介

5G网络中RLC层及其切割简介 在5G(NR)协议栈中RLC(无线链路控制)的上层是PDCP&#xff0c;下层为MAC&#xff1b;通过RLC信道与PDCP接口对接&#xff0c;通过逻辑信道与MAC接口对接&#xff1b;其间属一对一映射&#xff0c;所以属于一个RLC信道上的RLC SDU通常被映射到单个逻辑…

再论读书之事

人类社会发展过程中&#xff0c;创立语言、文字&#xff0c;等符号体系&#xff0c;后以记录信息之所需&#xff0c;将符号用之于绘画、雕刻、书本等不一而足的形式&#xff0c;以保存知识信息。此开明义&#xff0c;即书本为知识传递之媒介&#xff0c;这是本论之核心。 人自…

(蓝桥杯C/C++)——常用库函数

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 一、 二分查找 1.二分查找的前提 2.binary_ search函数 3.lower_bound和upper_bound 二、排序 1.sort概念 2.sort的用法 3.自定义比较函数 三、全排列 1.next p…

unity中的材质(material)贴图(texture)着色器(shader)介绍

TOC 在unity中&#xff0c;材质&#xff08;material&#xff09;、贴图&#xff08;texture&#xff09;和着色器&#xff08;shader&#xff09;是构建和渲染3D对象外观的基本概念 材质(material) 定义&#xff1a;材质是一个用于定义物体外观的资源&#xff0c;它将材质属性…

为什么使用Node.js爬虫更优

在现代网络开发中&#xff0c;爬虫技术已成为开发者不可或缺的工具。 在比较Node.js和Python在爬虫工具内存使用方面&#xff0c;我们可以从几个关键点来进行分析&#xff1a; 1. 异步I/O和事件驱动模型 Node.js是基于事件驱动和非阻塞I/O模型的&#xff0c;这使得它在处理高…

倪师学习笔记-天纪-易经八卦

一、简介 卦代表事情&#xff0c;爻代表时机&#xff0c;三爻为一卦八卦对应的天相&#xff0c;六十四卦对应人间事 二、八卦性 1、乾 天父亲向下看&#xff0c;无所求&#xff0c;雄心万丈始终如一&#xff0c;贞&#xff0c;坚心&#xff0c;专心至刚&#xff0c;天威&am…

Apache Paimon主键表的一些最佳实践

今天我们说说Paimon主键表的一些使用上的注意事项。 一、主键表 主键表是Paimon的一种表类型。用户可以插入、更新或删除表中的记录。 说的直白点就是&#xff0c;允许你设置唯一主键&#xff0c;然后覆盖更新。 Bucket选择 无论分区表还是未分区表&#xff0c;Bucket都是最小的…