leetcode 58 Length of Last Word

本文介绍了一个简单的Python程序,用于计算给定字符串中最后一个单词的长度。通过使用字符串处理方法如split()和rstrip(),该程序能够有效去除字符串末尾的空白字符并分割字符串,从而找出最后一个单词。
58Length of Last Word    32.00%最后一个连续子串的长度
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sat Jan 27 17:40:21 2018

@author: vicky
"""


split():分割字符串,返回分割后的字符串列表。http://www.runoob.com/python/att-string-split.html
  str.split(str="", num=string.count(str))
    其中,str表示分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
    num表示分割次数。
    
rstrip():删除string字符串末尾的指定字符(默认为空格).http://www.runoob.com/python/att-string-rstrip.html
  str.rstrip('chars'),其中chars指定删除的字符(默认为空格)


class Solution:
    def lengthOfLastWord(self, s):
        """
        :type s: str
        :rtype: int
        """
        x=str()
        for c in s.split(' '):
            if c!='':
                x=c
        return len(x)

#更简便写法:(不过时间会久一点)
#array[-1]表示提取数组的最后一个元素
#删去s最后为空格的部分后再分割,比如s="a ",s.rstrip(' ')="a"
        len(s.rstrip(' ').split(' ')[-1]) 


if __name__=="__main__":
    s="a bc"
    print(Solution().lengthOfLastWord(s))

 

 

 

多源动态最优潮流的分布鲁棒优化方法(IEEE118节点)(Matlab代码实现)内容概要:本文介绍了基于Matlab代码实现的多源动态最优潮流的分布鲁棒优化方法,适用于IEEE118节点电力系统。该方法结合两阶段鲁棒模型与确定性模型,旨在应对电力系统中多源不确定性(如可再生能源出力波动、负荷变化等),提升系统运行的安全性与经济性。文档还列举了大量相关的电力系统优化研究案例,涵盖微电网调度、电动汽车集群并网、需求响应、配电网重构等多个方向,并提供了YALMIP等工具包的网盘下载链接,支持科研复现与进一步开发。整体内容聚焦于电力系统建模、优化算法应用及鲁棒性分析。; 适合人群:具备电力系统基础知识和Matlab编程能力的研究生、科研人员及从事能源系统优化的工程技术人员;熟悉优化建模(如鲁棒优化、分布鲁棒优化)者更佳。; 使用场景及目标:①开展电力系统动态最优潮流研究,特别是含高比例可再生能源的场景;②学习和复现分布鲁棒优化在IEEE118等标准测试系统上的应用;③进行科研项目开发、论文复现或算法比较实验;④获取相关Matlab代码资源与仿真工具支持。; 阅读建议:建议按文档结构逐步浏览,重点关注模型构建思路与代码实现逻辑,结合提供的网盘资源下载必要工具包(如YALMIP),并在Matlab环境中调试运行示例代码,以加深对分布鲁棒优化方法的理解与应用能力。
### LeetCode Problem 58: Length of Last Word The goal is to find the length of the last word in a string. A word is defined as a maximal substring consisting of non-space characters only. #### Java Implementation Below is an efficient implementation using built-in methods: ```java class Solution { public int lengthOfLastWord(String s) { if (s == null || s.isEmpty()) return 0; String trimmedString = s.trim(); // Remove leading and trailing spaces[^3] if (trimmedString.isEmpty()) return 0; // Split by space, then get the last element's length. String[] words = trimmedString.split(" "); return words[words.length - 1].length(); } } ``` This code first checks if the input string `s` is either null or empty. If so, it returns zero immediately. Next, any leading and trailing whitespace from the string gets removed with `trim()`. Should this result be empty after trimming, again, zero is returned because no valid words exist. Finally, splitting the cleaned-up string into substrings based on spaces allows accessing the final array component which represents the last word whose length can thus be determined easily. For performance optimization considerations when dealing specifically with large strings where memory usage might become critical due to creating intermediate arrays during split operations, another approach directly iterates backward through the given string until encountering its initial non-whitespace character marking end-of-last-word boundary while counting letters encountered along the way without needing additional storage beyond single integer counter variable holding current count value.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值