[解题报告](第21讲) 字符串算法(一) - 字符串遍历(1)

简介: [解题报告](第21讲) 字符串算法(一) - 字符串遍历

目录


零、写在前面


一、主要知识点


       1.字符串遍历


       2.大小写转换。


二、课后习题


1812. 判断国际象棋棋盘中一个格子的颜色


LCP 17. 速算机器人


2011. 执行操作后的变量值


1876. 长度为三且各字符不同的子字符串


520. 检测大写字母


709. 转换成小写字母


1704. 判断字符串的两半是否相似


1844. 将所有数字用字符替换


1805. 字符串中不同整数的数目


写在最后


零、写在前面

        这是打卡的第二十天,今天难度不高,其中有些是之前的题目我放了链接。主要知识点在

《算法零基础100讲》(第21讲) 字符串算法(一) - 字符串遍历https://blog.csdn.net/WhereIsHeroFrom/article/details/120875895

https://blog.csdn.net/WhereIsHeroFrom/article/details/120875895


一、主要知识点


       1.字符串遍历


       由于'\0'结束符的ASCII码为0,所以可以用下面的方式进行遍历。


for(int i = 0;s[i];++i){
    //blabla
}

       2.大小写转换。


       其实小写的ASCII码比大写的大' '个(你说你看不见?你仔细瞅瞅?)。好吧其实就是差一个空格的ASCII码值。可以取查表看看

if(s[i] >= 'A' && s[i] <= 'Z'){
    s[i] += ' ';
}


二、课后习题


1812. 判断国际象棋棋盘中一个格子的颜色


1812. 判断国际象棋棋盘中一个格子的颜色

https://leetcode-cn.com/problems/determine-color-of-a-chessboard-square/


思路

image.png


如果把它看成一个矩阵的话,就是下标和为偶数的是黑色,奇数为白色。


所以一行代码完事了呗?


bool squareIsWhite(char * coordinates){
    //求下表和并返回奇偶判定
    return (coordinates[0] - 'a' + coordinates[1] - '1') & 1;
}

结果分析

image.png


可还行?


LCP 17. 速算机器人


LCP 17. 速算机器人

https://leetcode-cn.com/problems/nGK0Fy/


主要思路


       不难,让干啥干啥就完事了。。


int calculate(char* s){
        int x = 1,y = 0;//初始化
        for(int i = 0;s[i];++i)    //遍历字符串计算值
            if(s[i] == 'A')    x = 2 * x + y;
            else        y = 2 * y + x;
        return x + y;
}

结果分析

image.png


可以把?


2011. 执行操作后的变量值


2011. 执行操作后的变量值

https://leetcode-cn.com/problems/final-value-of-variable-after-performing-operations/


思路


差不多也算是暴力了,但是只要判断前两位就好了。


int finalValueAfterOperations(char ** operations, int operationsSize){
    int x = 0;
    for(int i = 0;i < operationsSize;++i)//遍历判断
        if(operations[i][0] == '+') x++;    //是++x
        else if(operations[i][0] == '-') x--;//是--x
        else if(operations[i][1] == '+') x++;//是x++
        else if(operations[i][1] == '-') x--;//是x--
    return x;
}

结果分析

image.png


凑合玩吧



相关文章
|
1月前
|
算法
【优选算法】—— 字符串匹配算法
【优选算法】—— 字符串匹配算法
|
2月前
|
人工智能 算法 测试技术
【动态规划】【字符串】【C++算法】940. 不同的子序列 II
【动态规划】【字符串】【C++算法】940. 不同的子序列 II
|
2月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-246 算法训练 猴子吃包子
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-246 算法训练 猴子吃包子
34 2
|
2月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-48 算法训练 关联矩阵
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-48 算法训练 关联矩阵
37 0
|
2月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-42 算法训练 送分啦
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-42 算法训练 送分啦
35 0
|
2月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-8 算法训练 操作格子 线段树
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-8 算法训练 操作格子 线段树
29 0
|
2月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-5 算法训练 最短路
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-5 算法训练 最短路
24 0
|
2月前
|
算法 Java Serverless
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-444 算法训练 求和问题
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-444 算法训练 求和问题
31 1
|
2月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-439 算法训练 简单字符变换
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-439 算法训练 简单字符变换
37 1
|
2月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-7 算法训练 逆序对 平衡二叉树
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-7 算法训练 逆序对 平衡二叉树
34 0

热门文章

最新文章