zoukankan      html  css  js  c++  java
  • C语言练习题1

    交替二进制字符串的最少操作数

    要求:

    给你一个仅由字符 '0' 和 '1' 组成的字符串 s 。一步操作中,你可以将任一 '0' 变成 '1' ,或者将 '1' 变成 '0' 。

    交替字符串 定义为:如果字符串中不存在相邻两个字符相等的情况,那么该字符串就是交替字符串。例如,字符串 "010" 是交替字符串,而字符串 "0100" 不是。

    返回使 s 变成 交替字符串 所需的 最少 操作数

    《----来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/minimum-changes-to-make-alternating-binary-string
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。-- 》

    思路:

    交替字符串,A:10101010 或 B:01010101

    你想把一个字符串111101变成 101010 需要改变改变4个数字,那么变成010101就只需要两次,也就是6-4次

    那么我们只需要把字符串变成A或者B的一种即可,另一种就是 (数字总数  -  字符串变成A的变动个数)

    还有一个知识点:

    数字,字符串,字符,在ascii码表上是不一样的

    s[i] =  '0' = 48

    代码如下:

    int minOperations(char * s){
    
    int nub = 0;
    int i =0;
    for(i =0;s[i]!= '';i++)
    {
        //printf(" %d,%d.",s[i],(i%2));
        if(s[i]%2  != i%2)
        {
            nub ++;
           // printf("%d ",nub);
        }
    }
    
     //printf("%d ",i);
    if(nub > (i-nub))
    {
        nub = i-nub;
    }
    
    return nub;
    }
  • 相关阅读:
    Spark学习--SparkCore03
    2D特效和3D特效
    CSS3选择器在HTML5中的使用
    HTML5中表单中新增加元素
    HTML5简介
    机器学习系列:
    机器学习系列:
    机器学习系列:
    机器学习系列:
    机器学习系列:
  • 原文地址:https://www.cnblogs.com/8335IT/p/14587135.html
Copyright © 2011-2022 走看看