每日一道Leetcode算法——520.检测大写字母——2021.05.20

每日一题:给定一个单词,你需要判断单词的大写使用是否正确。 每日一题:给定一个单词,你需要判断单词的大写使用是否正确。 2020年11月22日,力扣,简单,检测大写字母 一、题目描述 给定一个单词,你需要判断单词的大写使用是否正确。 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如"USA"。 单词中所有字母都不是大写,比如"leetcode"。 如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。 否则,我们定义这个单词没有正确使用大写字母。 示例 1: 输入: "USA" 输出: True 示例 2: 输入 阅读详情

题干:

给定一个单词,你需要判断单词的大写使用是否正确。

我们定义,在以下情况时,单词的大写用法是正确的:

全部字母都是大写,比如"USA"。
单词中所有字母都不是大写,比如"leetcode"。
如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。
否则,我们定义这个单词没有正确使用大写字母。

示例 1:

输入: "USA"
输出: True
示例 2:

输入: "FlaG"
输出: False
注意: 输入是由大写和小写拉丁字母组成的非空单词。

解题思路:

因为ASCII码,大写字母在前,小写字母在后。小写字母的a为ASCII码的97位,所以拿出每位的char值和97进行比较,小于97为大写。

比较分为几种情况:
(1)当字符串长度为1的时候,返回结果永远为true;

(2)当字符串长度为2的时候,只有第一位是小写,第二位是大写,才是false,其他情况下都是true;

(3)当字符串长度大于等于3的时候,第一位是小写,则需要判断后面值是否都是小写。第一位是大写,第二位是大写,则后面所有位都应该为大写。第一位是大写,第二位是小写,则后面所有位都应该为小写。

package easy;


/**
 * 给定一个单词,你需要判断单词的大写使用是否正确。
 * 我们定义,在以下情况时,单词的大写用法是正确的:
 * 全部字母都是大写,比如"USA"。
 * 单词中所有字母都不是大写,比如"leetcode"。
 * 如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。
 * 否则,我们定义这个单词没有正确使用大写字母。
 *
 * @author kimtian
 * @date 2021.05.20
 * @num 520
 **/
public class DetectCapitalUseSolution {
    /**
     * 测试
     *
     * @param args
     */
    public static void main(String[] args) {
        System.out.println(detectCapitalUse("AbcA"));
    }

    /**
     * (1)当字符串长度为1的时候,返回结果永远为true;
     * (2)当字符串长度为2的时候,只有第一位是小写,第二位是大写,才是false,其他情况下都是true;
     * (3)当字符串长度大于等于3的时候,第一位是小写,则需要判断后面值是否都是小写。第一位是大写,第二位是大写,则后面所有位都应该为大写。第一位是大写,第二位是小写,则后面所有位都应该为小写。
     *
     * @param word word
     * @return
     */
    public static boolean detectCapitalUse(String word) {
        char[] aaa = word.toCharArray();
        if (aaa.length <= 1) {
            return true;
        }
        boolean isHighOne = aaa[0] < 97;
        boolean isHighTwo = aaa[1] < 97;
        if (!isHighOne && isHighTwo) {
            return false;
        }
        for (int i = 2; i < aaa.length; i++) {
            if ((!isHighOne && aaa[i] < 97) || (isHighOne && isHighTwo && aaa[i] >= 97) ||
                    (isHighOne && !isHighTwo && aaa[i] < 97)) {
                return false;
            }
        }
        return true;
    }
}
保姆级避坑指南:用Livox官方工具搞定Mid-360多雷达自动标定(附源码Bug修复) 本文详细解析了使用Livox官方工具进行Mid-360多雷达自动标定的全流程,包括环境搭建、工具链配置、关键Bug修复及数据采集最佳实践。重点解决了PointCloudMapper.cpp边界检查缺失和calibration.cpp点云显示问题,提供了实用的代码修复方案和标定质量评估指标,帮助开发者高效完成激光雷达标定任务。 阅读详情

相关推荐

TTL电路搭建半加器实验:操作指南完整版

通过TTL电路搭建半加器,详解逻辑设计与实验步骤,帮助掌握数字电路中的半加器工作原理与实际应用,适合电子技术初学者动手实践。

weixin_42524864的博客 355

【算法】检测大写字母

【算法】检测大写字母

泡^泡 345

Python实战:5分钟搞定N-CMAPSS航空发动机数据集解析(附完整代码)

本文提供了一份针对N-CMAPSS航空发动机数据集的快速解析实战指南。通过Python的h5py库,详细演示了如何读取HDF5文件结构、理解数据分类(如传感器、健康参数、场景描述符)并加载为Pandas DataFrame。文章还澄清了数据集中常见的变量数量疑惑,并给出了从数据加载到构建剩余使用寿命预测模型预处理流水线的完整代码,帮助工程师和研究人员高效入门航空发动机预测性维护分析。

weixin_29057065的博客 421

算法题5||检测大写字母

题目 给定一个单词,你需要判断单词的大写使用是否正确。我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如"USA"。 单词中所有字母都不是大写,比如"leetcode"。 如果单词不只含有一个字母,只有首字母大写, 比如 “Google”。 否则,我们定义这个单词没有正确使用大写字母。 来源:力扣(LeetCode) 分析 分析题目,要求对输入的非空单词判断其大写使用是否正确。 首先,根据首字母可以将单词分为两大类讨论:首字母大写和首字母小写,用变量temp记录。 1.若首字母是小写

qq_43543920的博客 589

深入理解命名实体识别(NER)

命名实体识别(NER,Named Entity Recognition)是自然语言处理(NLP)中的一项重要技术,用于从文本中识别出特定类型的实体,并将这些实体分类到预定义的类别中。实体通常包括人名、地名、组织名、日期、时间、数量、货币等。例如,在句子“Barack Obama was born in Hawaii in 1961”中,NER任务的目标是识别“Barack Obama”作为人名,“Hawaii”作为地名,以及“1961”作为日期。

AngelCryToo的专栏 4638

2 海康视觉平台VisionMaster 上手系列:大纲及准备

海康视觉平台VisionMaster 大纲,课前准备 快速入门 工业机器视觉 机器视觉

HuangGong2022的博客 1万+

leetcode刷题---字符串---检测大写字母

给定一个单词,你需要判断单词的大写使用是否正确。 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如"USA"。 单词中所有字母都不是大写,比如"leetcode"。 如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。 否则,我们定义这个单词没有正确使用大写字母。 示例 1: 输入: “USA” 输出: True 示例 2: 输入: “FlaG” 输出: False 注意: 输入是由大写和小写拉丁字母组成的非空单词。 class Solution { pub

破浪会有时的博客 384

YOLOv5 改进点总览:轻量化、高精度的背后有哪些魔改?

YOLOv5是由Ultralytics团队开发的高效目标检测模型,其核心改进包括:主干网络采用CSPDarknet53提升梯度传播效率;特征融合使用PANet增强小目标识别;输出结构采用解耦头设计优化定位和分类任务。此外,YOLOv5通过CIoU损失函数、Mosaic数据增强和SimOTA标签分配机制进一步提升性能。模型支持多种推理格式(ONNX/TensorRT等),并具备自动锚框匹配和多尺度训练功能,使其在轻量化(yolov5s仅7MB)与高性能(最高51.2% mAP)间取得平衡,但缺乏正式论文支撑是

guoguozgw的博客 1804

LeetCode 520. 检测大写字母

1. 题目 给定一个单词,你需要判断单词的大写使用是否正确。 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如"USA"。 单词中所有字母都不是大写,比如"leetcode"。 如果单词不只含有一个字母,只有首字母大写, 比如 “Google”。 否则,我们定义这个单词没有正确使用大写字母。 示例 1: 输入: "USA" 输出: True 示例 2: 输入: "FlaG...

Michael是个半路程序员 998

c# U盘禁用---守护进程(插入,拔出,卸载等操作)

一、简介 传统的对U盘禁用,我们多采用修改注册表的方式,详情参考:https://blog.csdn.net/qq_25372599/article/details/79815407;本文将介绍一种其他的方式–后台守护程序。其原理非常简单:当守护程序检测到U盘的插入信号,我们自动卸载U盘,致使系统无法识别U盘,达到禁用U盘的效果。 二、程序设计 2.1 变量定义 strin...

星星之火燃亮码空 2845

11-16 Fluent结果查看及后处理功能(做动画、监控点)

监控点、面及动画操作

zheaa的博客 1万+

leetcode每日一题-520:检测大写字母

leetcode每日一题-520:检测大写字母 链接 检测大写字母 题目 分析 模拟分析题,遍历一下字符串统计一下其中的大小写字母然后根据大小写字母的数量判断即可 代码 C++ class Solution { public: bool detectCapitalUse(string word) { int n = word.size(); // 统计大写,小写字母的数量 int big = 0, little = 0;

qq_45826803的博客 2302

AI摄影师:自动构图与修图算法设计

AI摄影师:自动构图与修图算法设计​ ,人工智能,计算机视觉,大模型,AI,AI 摄影师的核心能力体现在两方面:自动构图(通过算法优化画面元素布局)与智能修图(自动调整光影、色彩、细节)。例如,手机摄影中的 “AI 构图建议” 功能可实时框选最佳拍摄区域,修图软件中的 “一键增强” 能在 0.1 秒内完成专业级调色,这些都依赖于计算机视觉与深度学习的深度融合。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 16万+

每日一题——力扣——检测大写字母

题目来源于力扣——520. 检测大写字母 - 力扣(LeetCode) (leetcode-cn.com) 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如 "USA" 。 单词中所有字母都不是大写,比如 "leetcode" 。 如果单词不只含有一个字母,只有首字母大写,比如"Google" 。 给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。 示例 1: 输入:word = "USA" 输出:true 示例 2: 输入..

爱编程的晖哥的博客 1242

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

LeetCode 力扣每日一题 题解 520. 检测大写字母

原题链接: 题目描述: 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如 "USA" 。 单词中所有字母都不是大写,比如 "leetcode" 。 如果单词不只含有一个字母,只有首字母大写,比如"Google" 。 给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。 (难度:简单) C++代码: class Solution { public: bool detectCapitalUse(string word)...

m0_56937307的博客 982

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

STM32第一个工程:从复位向量到main的完整初始化流程解析

嵌入式开发中,'STM32工程结构'和'系统初始化流程'是理解裸机运行机制的核心基础概念。其原理源于Cortex-M系列芯片上电后严格的启动时序:复位向量读取→栈初始化→数据段搬运→BSS清零→时钟配置→C库环境建立→最终跳转main。这一流程直接决定外设能否正常工作、HAL库是否可靠调用、延时与中断是否精准。技术价值在于构建可调试、可移植、可演进的底层控制能力,支撑电机驱动、传感器融合、实时通信等工业级应用场景。本文聚焦STM32F103典型芯片,逐层穿透startup汇编、system时钟配置、scat

weixin_34194359的博客 565

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

力扣每日一题第520题检测大写字母

题目链接: https://leetcode-cn.com/problems/detect-capital 本体思路: 本题我的思路是将字符串中的字母转化为ASCII码来写。(难点是要把字符串转化为数组)。 本题学到的知识点: .toCharArray() 用法将字符串中的字符转化为字符数组 。像本题给的word是一个字符串但是我想用数组来把其中每一个字符都给表示出来。 ASCII码,这个也算是一个小的知识点,这个要注意一下,a的ASCII码比A要大。 代码: class Solution {

GX_666的博客 4158

21年11月第二周 力扣每日一题记录

本周每日一题 题目 lc 299. 猜数字游戏 11-08 lc299. 猜数字游戏 两遍循环解决,第一遍是将相同的bull记录下来,同时记下secret有多少个不一样的数字情况,第二遍是将不同的cow计算出来 这里因为出现的样本有限,所以用数组代替map,速度加快 同时,StringBuilder#append的速度大幅领先与String的+ 经过优化,最终达到100%时间,70%的空间 class Solution { //就是把对应位置的直接bull,非对应位置的记在map中,就是co

或左的博客 7003

【LeetCode每日一题】——520.检测大写字母

【题目编号】 520.检测大写字母 【题目描述】 给定一个单词,你需要判断单词的大写使用是否正确。我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如"USA"。 单词中所有字母都不是大写,比如"leetcode"。 如果单词不只含有一个字母,只有首字母大写, 比如 “Google”。 否则,我们定义这个单词没有正确使用大写字母。 【题目示例】 示例 1: 输入: “USA” 输出: True 示例 2: 输入: “FlaG” 输出: False 【题目提示】 注意

IronmanJay 267

[Leetcode] 每日两题 2017 520

2017. 网格游戏 前缀和 + 后缀和 求拐角 然后更新第一列的前缀和 更新第二列的后缀和,然后 min max 求解 最关键的地方在于 第二个机器人的最优解 一定是 直接下去 或者最后再下去 class Solution: def gridGame(self, grid: List[List[int]]) -> int: dp = [[0] * (len(grid[0])) for _ in range(2)] for i i

weixin_43146899的博客 2884

2021-11-13 LeetCode每日一题 520. 检测大写字母

问题描述: 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如 "USA" 。 单词中所有字母都不是大写,比如 "leetcode" 。 如果单词不只含有一个字母,只有首字母大写,比如"Google" 。 给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。 示例 1: 输入:word = "USA" 输出:true 示例 2: 输入:word = "FlaG" 输出:false 提示: 1 <= word.len..

honor_hh的博客 4648

【字符串】【打卡74天】leetCode每日一题:520. 检测大写字母

1、题目描述 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如 "USA" 。 单词中所有字母都不是大写,比如 "leetcode" 。 如果单词不只含有一个字母,只有首字母大写,比如"Google" 。 给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。 2、算法分析 知识补充:判断一个字符是否为大写字母Character.isUpperCase(char c):判断字符是否为大写字母;大写为true;小写为false; 先...

CodingLJ 387

2021-11-13每日刷题打卡

2021-11-13每日刷题打卡 力扣——每日一题 520. 检测大写字母 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如 “USA” 。 单词中所有字母都不是大写,比如 “leetcode” 。 如果单词不只含有一个字母,只有首字母大写, 比如 “Google” 。 给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。 示例 1: 输入:word = “USA” 输出:true 准备两个数big_num和small_num来计算单词的大写字母

fnmdpnmsl的博客 3298

LeetCode 每日一题 Day 202-209

全部字母都是大写,比如 “USA”。单词中所有字母都不是大写,比如 “leetcode”。如果单词不只含有一个字母,只有首字母大写, 比如 “Google”。给你一个字符串 word。如果大写用法正确,返回 true;否则,返回 false。示例 1:输入:word = “USA”输出:true示例 2:输入:word = “FlaG”输出:false提示:word 由小写和大写英文字母组成public:});503. 下一个更大元素 II。

m0_73814009的博客 1376

力扣每日一题 6/23 字符串/模拟

“黄沙百战穿金甲,不破楼兰终不还。”——《从军行七首·其四》

窗外风景随心变幻 1619

【康复学习--LeetCode每日一题】520. 检测大写字母

给你一个字符串 word。如果大写用法正确,返回 true;否则,返回 false。如果单词不只含有一个字母,只有首字母大写, 比如 “Google”。单词中所有字母都不是大写,比如 “leetcode”。全部字母都是大写,比如 “USA”。word 由小写和大写英文字母组成。输入:word = “FlaG”输入:word = “USA”

Puppet__的博客 349
上一篇: JavaScript基础
下一篇: Vue学习总结(一)——Vue.js的安装
田小江爱分享
博客等级 码龄10年 34粉丝 143原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值