不含重复字符的最长子串长度JAVA_字符串回文判断

不含重复字符的最长子串长度JAVA_字符串回文判断给你一个二进制字符串 s ,现需要将其转化为一个 交替字符串 。请你计算并返回转化所需的 最小 字符交换次数,如果无法完成转化,返回 -1 。交替字符串 是指:相邻字符之间不存在相等情况的字符串。例如,字符串 “010” 和 “1010” 属于交替字符串,但 “0100” 不是。任意两个字符都可以进行交换,不必相邻 。示例 1:输入:s = “111000”输出:1解释:交换位置 1 和 4:”111000″ -> “101010” ,字符串变为交替字符串。示例 2:输入:s =

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

给你一个二进制字符串 s ,现需要将其转化为一个 交替字符串 。请你计算并返回转化所需的 最小 字符交换次数,如果无法完成转化,返回 -1 。

交替字符串 是指:相邻字符之间不存在相等情况的字符串。例如,字符串 “010” 和 “1010” 属于交替字符串,但 “0100” 不是。

任意两个字符都可以进行交换,不必相邻 。

示例 1:

输入:s = "111000"
输出:1
解释:交换位置 1 和 4:"111000" -> "101010" ,字符串变为交替字符串。
示例 2:

输入:s = "010"
输出:0
解释:字符串已经是交替字符串了,不需要交换。
示例 3:

输入:s = "1110"
输出:-1
 

提示:

1 <= s.length <= 1000
s[i] 的值为 '0''1'
class Solution { 
   
public:
    int solve(int t,string &s){ 
   
        int st = t;
        int ans = 0;
        for(int i = t;i < s.size();i += 2){ 
   
            if(s[i] == '1')ans ++;
        }
        return ans;
    }
    int minSwaps(string s) { 
   
        int numl = 0,numy = 0;
        for(int i = 0;i < s.size();i ++){ 
   
            if(s[i] == '0')numl ++;
            else numy ++;
        }
        int ans = 0x3f3f3f3f;
        int n = s.size();
        if(n % 2){ 
   
            if(abs(numl - numy) != 1)return -1;
            else if(numl > numy){ 
   
                return solve(0,s);
            }
            else return solve(1,s);
        }
        else{ 
   
            if(numy != numl)return -1;
            ans = min(solve(0,s),solve(1,s));
            return ans;
        }
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/168561.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 《前端运维》二、Nginx–3静态资源服务、跨域与其他「建议收藏」

    一、静态资源服务首先,静态资源一般是指客户端发送请求到Web服务器,web服务器从内存中取得相应的文件,返回给客户端,客户端解析并渲染出来。动态资源呢,则是由客户端发起请求,先交由web容器,web

  • post请求百度网址内容和访问本地springmvc工程controller

    post请求百度网址内容和访问本地springmvc工程controller

  • 直流电压前馈控制数字逆变电源设计与实现

    直流电压前馈控制数字逆变电源设计与实现引言逆变电源一般采用瞬时反馈控制技术来提高逆变电源的动态响应速度,减少输出电压的谐波含量,改善输出电压波形的质量。常见的逆变电源控制技术,有重复控制、谐波补偿控制、无差拍控制、电压瞬时值控制和带电流内环的电压瞬时值控制等类型[1~4]。其中,带电流内环电压瞬时值环路的双环控制方法因实现简单,系统动态性能优越和对负载的适应性强等优点,而逐渐成为高性能逆变电源的发展方向之一[4]。但传统控制方法是基于逆变电源直流侧输入电压为无脉动直流电压的假定,而实际逆变电源,存在因电网电压波动或负载突变而导致直流侧电压波

  • 互联网裁员为什么专捡大于35的裁?

    互联网裁员为什么专捡大于35的裁?以前写过一篇文章《在中国程序员是青春饭吗?》,一时间,各个平台都成为爆文,在这篇文章中,详细讲解了程序员的青春饭问题,并且给出了具体地五个出路。第一条出路,说的是需要走技术专家路线。有些小伙伴就有疑问了,我年龄大了,我技术菜,就我不能降薪去小公司吗?就着这两年各个大厂对高龄程序员的种种限制,我们再来谈一谈,为什么我建议大家如果要走技术路线,就一定要进中大厂走技术专家的路线。记得帮我点赞哦。一、大厂裁员,为什么优先35岁以上?大道理总是无力的,先讲几个事实吧。为了避免不必要的.

  • DNS服务器设置正确,DNS服务器配置(DNS各属性详细介绍)[通俗易懂]

    DNS服务器设置正确,DNS服务器配置(DNS各属性详细介绍)[通俗易懂]建立好DNS服务器后,用户可以在菜单中选择【属性】选项修改其配置。下面介绍如何配置DNS服务器的选项卡。具体的步骤如下。1.【接口】选项卡的配置图15-21所示为DNS服务器属性的【接口】选项卡,默认情况下,DNS服务器将侦听所有向该DNS服务器发出的域名解析请求和转发解析的DNS消息。如果要限制DNS服务器只负责侦听特定的IP地址发出的域名解析请求,可以在该选项卡中进行设置。选中【只在下列IP地…

  • freeswitch笔记2:呼叫中心坐席转接

    freeswitch笔记2:呼叫中心坐席转接1.设置呼叫中心拨号计划<extensionname=”Call-Center-9999″continue=””uuid=”c3500cca-9d04-4e18-a857-9d54c7490038″> <conditionfield=”destination_number”expression=”^([^#]+#)(.*)$”break=”never”> <actionapplication=”set”data=”caller_id_name=$2″/&

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号