zoukankan      html  css  js  c++  java
  • python_day_6:20180721

    28. 实现strStr()
    实现 strStr() 函数。
    给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。

    思路:判断needle是否在haystack里面,如果是的话,用find方法返回位置

    class Solution:
    def strStr(self, haystack, needle):
    if needle in haystack:
    return haystack.find(needle)
    else:
    return -1

    520. 检测大写字母
    给定一个单词,你需要判断单词的大写使用是否正确。
    我们定义,在以下情况时,单词的大写用法是正确的:
    1. 全部字母都是大写,比如"USA"。
    2. 单词中所有字母都不是大写,比如"leetcode"。
    3. 如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。
    否则,我们定义这个单词没有正确使用大写字母。

    思路:三种判断条件都说清楚了,正好对应upper(),lower(),和title()三种情况

    class Solution:
    def detectCapitalUse(self, word):
    if word==word.upper() or word==word.lower() or word==word.title():
    return True
    else:return False

    824. 山羊拉丁文
    给定一个由空格分割单词的句子 S。每个单词只包含大写或小写字母。
    我们要将句子转换为 “Goat Latin”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。
    山羊拉丁文的规则如下:
    * 如果单词以元音开头(a, e, i, o, u),在单词后添加"ma"。
    例如,单词"apple"变为"applema"。
     
    * 如果单词以辅音字母开头(即非元音字母),移除第一个字符并将它放到末尾,之后再添加"ma"。
    例如,单词"goat"变为"oatgma"。
     
    * 根据单词在句子中的索引,在单词最后添加与索引相同数量的字母'a',索引从1开始。
    例如,在第一个单词后添加"a",在第二个单词后添加"aa",以此类推。
    返回将 S 转换为山羊拉丁文后的句子。
    思路:按照规则执行即可,看起来长,但其实不难,本题其实简化了,还应该考虑如果首字母辅音大写,经过goat变换后,第二位字母应该变成大写置顶,而原来的首字母应该变成小写放在后面。还要进一步考虑这个词的长度,如果只有一个字母组成,那又不存在第二个字母了,比较麻烦。好在题目不要求做这么细。

    class Solution:
    def toGoatLatin(self, S):
    split=S.split(' ')
    result=''
    for i in range(len(split)):
    result+=(self.goat(split[i])+'a'*(i+1)+' ')
    return result[:-1]
    def goat(self,word):
    if word.lower()[0] in ['a','e','i','o','u']:
    return word+'ma'
    else:
    return word[1:]+word[0]+'ma'

  • 相关阅读:
    Jquery 图片预览插件 imgPreview
    对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)
    JavaScript拖拽实现(附注释),最经典!最简单!短小精悍!
    如何使用VC++写一个小程序来检测.NetFrameWork版本
    利用TreeView实现C#工具箱效果
    JavaScript中json对象和string对象之间的转化
    Ubuntu Server上搭建可用于生产环境的ASP.NET服务器
    winexec()函数的参数说明(c++)
    C#对文件夹的判断、创建、移动、删除
    C#程序不用安装.NET环境运行(让C#程序脱离.net框架)
  • 原文地址:https://www.cnblogs.com/codeinpy/p/9348401.html
Copyright © 2011-2022 走看看