笔试题 求空格分割的英文句子中,最大单词长度。

求空格分割的英文句子中,最大单词长度。例如:"this is a word",最大单词长度为4。要求:不能用 split 函数对字符串进行切分,算法复杂度为o(n)

java 复制代码
public class MaxWordLength {  
  
    public static int maxWordLength(String sentence) {  
        if (sentence == null || sentence.isEmpty()) {  
            return 0;  
        }  
  
        int maxLength = 0;  
        int currentLength = 0;  
  
        for (int i = 0; i < sentence.length(); i++) {  
            char c = sentence.charAt(i);  
  
            if (c == ' ') {  
                // 遇到一个空格,更新最大长度并重置当前长度  
                if (currentLength > maxLength) {  
                    maxLength = currentLength;  
                }  
                currentLength = 0;  
            } else {  
                // 不是空格,增加当前单词的长度  
                currentLength++;  
            }  
  
        return maxLength;  
    }  
  
    public static void main(String[] args) {  
        String sentence = "this is a word";  
        int maxLen = maxWordLength(sentence);  
        System.out.println("Max word length: " + maxLen);  
    }  
}
相关推荐
kyle~12 小时前
BFS(广度优先搜索)与 DFS (深度优先搜索)
c++·算法·深度优先·宽度优先
穿条秋裤到处跑812 小时前
java2AI系列:SpringAI 通过 Function Calling 接入外部系统
java·人工智能
亚空间仓鼠12 小时前
Ansible之Playbook(四):循环与判断
java·服务器·ansible
段一凡-华北理工大学12 小时前
【大模型+知识图谱+工业智能体技术架构】~系列文章02:工业知识图谱的构建与知识表示学习方法!!!
数据结构·python·神经网络·知识图谱·物理系统·神经逆向渲染
Hello.Reader12 小时前
算法是什么
linux·运维·算法
炽烈小老头12 小时前
【每天学习一点算法 2026/04/15】两整数之和(附带位运算总结)
学习·算法
希望永不加班12 小时前
SpringBoot 依赖管理:BOM 与版本控制
java·spring boot·后端·spring
Tisfy12 小时前
LeetCode 2515.到目标字符串的最短距离:从中间往两边遍历
算法·leetcode·字符串·题解·数组·遍历
落木萧萧82512 小时前
MyBatis、MyBatis-Plus、JPA、MyBatisGX 写法比较:同一个需求,四种解法
java·后端
彳亍走的猪12 小时前
Android 全局防抖/防重复点击
android·java·开发语言