单词

题824-山羊拉丁文

偶尔善良 提交于 2020-02-02 19:02:14
给定一个由空格分割单词的句子 S。每个单词只包含大写或小写字母。 我们要将句子转换为 “Goat Latin”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。 山羊拉丁文的规则如下: 如果单词以元音开头(a, e, i, o, u),在单词后添加"ma"。 例如,单词"apple"变为"applema"。 如果单词以辅音字母开头(即非元音字母),移除第一个字符并将它放到末尾,之后再添加"ma"。 例如,单词"goat"变为"oatgma"。 根据单词在句子中的索引,在单词最后添加与索引相同数量的字母'a',索引从1开始。 例如,在第一个单词后添加"a",在第二个单词后添加"aa",以此类推。 返回将 S 转换为山羊拉丁文后的句子。 示例 1: 输入: "I speak Goat Latin" 输出: "Imaa peaksmaaa oatGmaaaa atinLmaaaaa" 示例 2: 输入: "The quick brown fox jumped over the lazy dog" 输出: "heTmaa uickqmaaa rownbmaaaa oxfmaaaaa umpedjmaaaaaa overmaaaaaaa hetmaaaaaaaa azylmaaaaaaaaa ogdmaaaaaaaaaa" 说明: S 中仅包含大小写字母和空格

1071 Speech Patterns (25分)

非 Y 不嫁゛ 提交于 2020-02-02 00:29:32
1071 Speech Patterns (25分) People often have a preference among synonyms of the same word. For example, some may prefer “the police”, while others may prefer “the cops”. Analyzing such patterns can help to narrow down a speaker’s identity, which is useful when validating, for example, whether it’s still the same person behind an online avatar. Now given a paragraph of text sampled from someone’s speech, can you find the person’s most commonly used word? Input Specification: Each input file contains one test case. For each case, there is one line of text no more than 1048576 characters in

翻转单词顺序列

有些话、适合烂在心里 提交于 2020-02-01 21:34:35
题目:翻转单词顺序列 题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? 思路 将单词存在vector<string> v中,然后逆序叠加 class Solution { public: string ReverseSentence(string str) { vector<string> v; int size = str.size(); string res; if(size==0) return res; int begin=0,end=0; while(end<size){ if(str[end]!=' ') end++; else{ string word(str, begin, end-begin); v.push_back(word); begin=end=end+1; } } string word(str, begin, end-begin); v.push_back(word); for(int i=v.size()-1;i>=0;i--){

STM32开发笔记97: C++语言命名规范

最后都变了- 提交于 2020-02-01 16:23:07
单片机型号:STM32F091RCT6 在此文章中记录C++语言的命名规范。 1、文件名均采用小写英文字母方式实现,多个英文单词之间用“_"予以分割; 2、宏定义均采用大写英文字母方式实现,多个英文单词之间用“_"予以分割; 3、自定义数据类型均小写英文字母方式实现,多个英文单词之间用“_"予以分割; 4、类名首字母用C表示,后续采用匈牙利命名法,首字母大写,如遇英文缩写单词,则按照英文命名规范进行拼写,例如LED所为缩写单词,但是英文规范可以写作led或Led,则类名用CLed表示,而HAL是硬件映射层的缩写,英文用全大写表示,使用时,则使用CHAL命名; 5、用类声明的类对象,去除首字母C即可,例如CLed命名的对象,则直接为Led。 来源: CSDN 作者: snmplink 链接: https://blog.csdn.net/qingwufeiyang12346/article/details/104133409

LeetCode【520】 检测大写字母

南笙酒味 提交于 2020-02-01 07:39:36
题目: 给定一个单词,你需要判断单词的大写使用是否正确。 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如"USA"。 单词中所有字母都不是大写,比如"leetcode"。 如果单词不只含有一个字母,只有首字母大写, 比如 “Google”。 否则,我们定义这个单词没有正确使用大写字母。 示例 1: 输入: “USA” 输出: True 示例 2: 输入: “FlaG” 输出: False 注意: 输入是由大写和小写拉丁字母组成的非空单词。 public boolean detectCapitalUse ( String word ) { if ( word == null || word == "" ) return false ; int count = 0 ; for ( int i = 0 ; i < word . length ( ) ; i ++ ) { if ( word . charAt ( i ) <= 'Z' && word . charAt ( i ) >= 'A' ) count ++ ; } //三种情况 ,大写字母在首位、全是大写字母、无大写字母,return true; if ( count == word . length ( ) || count == 1 && word . charAt ( 0 ) >= 'A' &&

算法(二十)

微笑、不失礼 提交于 2020-01-31 23:51:55
1、给定一个字符串s和一组单词dict,判断s是否可以用空格分割成一个单词序列,使得单词序列中所有的单词都是dict中的单词(序列可以包含一个或多个单词)。 例如: 给定s=“leetcode”; dict=["leet", "code"]. 返回true,因为"leetcode"可以被分割成"leet code". 参考代码如下: public boolean wordBreak(String s, Set<String> dict) { if(s==null || s.length()==0 || dict == null || dict.size() == 0){ return false; } boolean[] flag = new boolean[s.length() + 1]; flag[0] = true; for(int i=1; i<=s.length();i++){ for(int j=i-1; j>=0; j--){ if(flag[j] && dict.contains(s.substring(j,i))){ flag[i] = true; break; }else{ flag[i] = false; } } } return flag[s.length()]; } 2、给定一个字符串s和一组单词dict,在s中添加空格将s变成一个句子

DAY 2

杀马特。学长 韩版系。学妹 提交于 2020-01-31 11:13:56
DAY 2 1.java入门知识 1.(1)关键字:组成字母全部小写; 注:goto和const是保留字; (2) 标识符:作用是给类,接口等取名; 规则:英文大小写字母,数字,¥和下划线; 注:不能以数字开头,不能是Java中的关键字(小写),不能有空格; 2.常见命名规则 (1)包(文件夹): 区分相同的类名,单级如yang,多级如yang.cast; (2)类或接口: 一个单词的话,单词首字母必须大写,如Student;多个单词的话,每个单词首字母必须大写,如:HelloWorld; (3)方法或变量: 如果一个单词,单词首字母小写,如main;多个单词,从第二个单词开始首字母大写,如studentAge,shoeName; 3.常量 (1) 一个单词:全部大写,如PI; 多个单词:每个字母大写,用下划线隔开每个单词,如STUDENT_MAX_AGE; (2) 字符串常量:双引号括起来,如“hello”; 整数常量:1234等; 字符常量:单引号括起来,如’A‘,’c‘等,但是’ab‘就不行,因为单引号里只能有一个字符,’0‘也是一个字符; 布尔常量:true & false; 空常量:null。 /* 分析: A: 要写一个Java程序,首先必须定义一个类 B: 数据能够输出,说明程序可以独立运行,而程序独立运行,必须使用main方法 C:数据输出在控制台,必须使用输出语句

07:机器翻译

丶灬走出姿态 提交于 2020-01-31 08:38:04
总时间限制: 1000ms 内存限制: 65536kB 描述 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。 假设内存中有M个单元,每单元能存放一个单词和译义。每当软件将一个新单词存入内存前,如果当前内存中已存入的单词数不超过M−1,软件会将新单词存入一个未使用的内存单元;若内存中已存入M 个单词,软件会清空最早进入内存的那个单词,腾出单元来,存放新单词。 假设一篇英语文章的长度为N个单词。给定这篇待译文章,翻译软件需要去外存查找多少次词典?假设在翻译开始前,内存中没有任何单词。 输入 输入文件共2行。每行中两个数之间用一个空格隔开。 第一行为两个正整数M和N,代表内存容量和文章的长度。 第二行为N个非负整数,按照文章的顺序,每个数(大小不超过1000)代表一个英文单词。文章中两个单词是同一个单词,当且仅当它们对应的非负整数相同。 对于10%的数据有M = 1,N ≤ 5。 对于100%的数据有0 < M ≤ 100,0 < N ≤ 1000。 输出 共1行

LeetCode472 - Concatenated Words - Hard (Python)

让人想犯罪 __ 提交于 2020-01-31 04:51:23
Given a list of words (without duplicates), please write a program that returns all concatenated words in the given list of words. A concatenated word is defined as a string that is comprised entirely of at least two shorter words in the given array. Example: Input: ["cat","cats","catsdogcats","dog","dogcatsdog","hippopotamuses","rat","ratcatdogcat"] Output: ["catsdogcats","dogcatsdog","ratcatdogcat"] Explanation: "catsdogcats" can be concatenated by "cats", "dog" and "cats"; "dogcatsdog" can be concatenated by "dog", "cats" and "dog"; "ratcatdogcat" can be concatenated by "rat", "cat", "dog"

Java实现 洛谷 P1308 统计单词数

这一生的挚爱 提交于 2020-01-31 02:26:38
import java . util . Scanner ; public class Main { public static void main ( String [ ] args ) { // TODO Auto-generated method stub Scanner in = new Scanner ( System . in ) ; String t = in . nextLine ( ) . toLowerCase ( ) ; //接受第一行字符串并且全部转换成小写 String s = in . nextLine ( ) . toLowerCase ( ) ; //接受第二行字符串并且全部转换成小写 int c = 0 ; //标记出现次数 int index = 0 ; int flag = 0 ; String sc [ ] = s . split ( " " ) ; //按照空格分成数组 for ( int i = 0 ; i < sc . length ; i ++ ) { if ( sc [ i ] . equals ( t ) ) c ++ ; if ( c == 1 ) flag = 1 ; if ( flag == 0 ) index += sc [ i ] . length ( ) + 1 ; //记录出现位置 } if ( c == 0 ) {