2022-03-22:二进制取反。 有一个二进制字符串,可以选择该串中的任意一段区间进行取反(可以进行一次或不进行),取反指将0变为1,将1变为0。那么取反之后的num可能的最大的字典序是多少呢。如有
2022-03-22:二进制取反。
有一个二进制字符串,可以选择该串中的任意一段区间进行取反(可以进行一次或不进行),取反指将0变为1,将1变为0。那么取反之后的num可能的最大的字典序是多少呢。如有,num=1000,讲区间[nums2,…num4]取反变为1111是字典序最大的。
输入例子1:“1000”。
输出例子1:“1111”。
腾讯音乐2022校园招聘。
答案2022-03-22:
从左往右看,第一次遇到连续的所有0,全翻转。
代码用golang编写。代码如下:
package main
import "fmt"
func main() {
num := "1000"
ret := maxLexicographical(num)
fmt.Println(ret)
}
func maxLexicographical(num string) string {
arr := []byte(num)
i := 0
for i < len(arr) {
if arr[i] == '0' {
break
}
i++
}
for i < len(arr) {
if arr[i] == '1' {
break
}
arr[i] = '1'
i++
}
return string(arr)
}
执行结果如下:

2022-03-22:二进制取反。 有一个二进制字符串,可以选择该串中的任意一段区间进行取反(可以进行一次或不进行),取反指将0变为1,将1变为0。那么取反之后的num可能的最大的字典序是多少呢。如有的更多相关文章
- stripslashes — 反引用一个引用字符串
stripslashes (PHP 4, PHP 5) stripslashes — 反引用一个引用字符串 Report a bug 说明 string stripslashes ( string ...
- HDU4850 构造一个长度为n的串,要求任意长度为4的子串不相同
n<=50W.(使用26个字母) 构造方法:26个,最多构造出26^4种不同的串,长度最长是26^4+3,大于是输出"impossble",用四维数组判重.每次向前构造一位( ...
- C#一个判断子串在父串中出现的次数
/// <summary> /// 计算字符串中子串出现的次数 /// </summary> /// <param name=”str”>字符串</param ...
- 检查一个string是否包含List<string>中的任意一个
bool b = listOfStrings.Any(s=>myString.Contains(s)); 应用在where子句中的示例: //获取路径 var groupPaths = grou ...
- 判断一个Activity 判断一个包 是否存在于系统中 的方法
判断一个包是否存在于系统中(来自网络),经过测试,好用: public boolean checkBrowser(String packageName) { if (packageName == nu ...
- 独家 | TensorFlow 2.0将把Eager Execution变为默认执行模式,你该转向动态计算图了
机器之心报道 作者:邱陆陆 8 月中旬,谷歌大脑成员 Martin Wicke 在一封公开邮件中宣布,新版本开源框架——TensorFlow 2.0 预览版将在年底之前正式发布.今日,在上海谷歌开发者 ...
- Jsの练习-将 数组中值为0 的去掉,不为0的存入一个新的数组
要求:将 数组中值为0 的去掉,不为0的存入一个新的数组 代码如下: <!DOCTYPE html> <html lang="en"> <head&g ...
- java题求代码,4、现在有如下的一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为: int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5}
public class TEST { public static void main(String[] args) { int [] oldArr= {1,3,4,5,0,0,6,6,0,5,4,7 ...
- pojg2744找一个最长的字符串x,使得对于已经给出的字符串中的任意一个y,x或者是y的子串,或者x中的字符反序之后得到的新字符串是y的子串。
http://poj.grids.cn/practice/2744 描述现在有一些由英文字符组成的大小写敏感的字符串,你的任务是找到一个最长的字符串x,使得对于已经给出的字符串中的任意一个y,x或者是 ...
- Java中String的intern方法,javap&cfr.jar反编译,javap反编译后二进制指令代码详解,Java8常量池的位置
一个例子 public class TestString{ public static void main(String[] args){ String a = "a"; Stri ...
随机推荐
- VMware安装Rocky Linux8服务器系统并执行优化,包括修改安装镜像源、ssh免密等等
1. https://blog.csdn.net/DCTANT/article/details/125430461?utm_medium=distribute.pc_relevant.none-tas ...
- Nginx TP框架伪静态配置
location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; } }
- MAC下使用Wireshark调试chrome浏览器的HTTP/2流量
1.设置环境变量 mkdir ~/tls && touch ~/tls/sslkeylog.log #zsh echo "\nexport SSLKEYLOGFILE=~/t ...
- 如何利用Apifox通过签名计算及数据加解密进行用户认证接口测试?
用户注册场景:输入签名数据signature,appId,13位时间戳timestamp,6位随机数nonce,merchantId(非必填,本次不填)的请求参数发送给服务器,服务器返回响应数值后,校 ...
- 换个脑袋,做个小练习------四则运算系统的随机出题的jsp实现
四则运算出题系统网页界面的实现(别期待,只有俩操作数) index.jsp <%@ page contentType="text/html;charset=UTF-8" la ...
- MyBatis中的#和$有什么区别
什么是MyBatis MyBatis是一款优秀的持久层框架,特别是在国内(国外据说还是 Hibernate 的天下)非常的流行,我们常说的SSM组合中的M指的就是#mybatis#. MyBatis支 ...
- 谷歌浏览器配置Selenium,并配合python使用
python环境准备 python 需要安装selenium ,这个直接pip安装即可 pip install selenium -i http://pypi.douban.com/simple -- ...
- 在java中new一个对象的流程是什么?
Dog dog=new Dog()背后执行过程 这个涉及到字节码文件结构,类加载机制,堆,栈的认识等知识点. 在执行new的时候可以大致分为二个过程,初始化以及实例化,初始化就是类的加载过程,首先我们 ...
- Java BIO,NIO,AIO
一丶IO模型&Java IO Unix为程序员提供了以下5种基本的io模型: blocking io: 阻塞io nonblocking io: 非阻塞io I/O multiplexing: ...
- 在 Kubernetes 集群上部署 VSCode
在 Kubernetes 集群上部署 VSCode Visual Studio Code Visual Studio Code 是一个轻量级但功能强大的源代码编辑器,可在您的桌面上运行,适用于 Win ...