字母

Go语言规范(源代码表示)

痴心易碎 提交于 2020-04-07 07:45:28
原文: http://golang.org/doc/go_spec.html 翻译: 红猎人 (zengsai@gmail.com) Source code representation 源代码表示 [Top] Source code is Unicode text encoded in UTF-8 . The text is not canonicalized, so a single accented code point is distinct from the same character constructed from combining an accent and a letter; those are treated as two code points. For simplicity, this document will use the term character to refer to a Unicode code point. 源代码是用 UTF-8 编码 的 Unicode 文本。文本不是规范化的,因此一个单独加了重音的代码点有别于由字母和重音 结合而成的字符;它们对当作两个代码点对待。为了简单起见,该文档使用术语 字符 指代 Unicode 代码点。 Each code point is distinct; for instance, upper

洛谷 P1092 虫食算

我是研究僧i 提交于 2020-03-30 09:41:07
P1092 虫食算 题目描述 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子: 43#9865#045 +8468#6633 44445509678 其中#号代表被虫子啃掉的数字。根据算式,我们很容易判断:第一行的两个数字分别是5和3,第二行的数字是5。 现在,我们对问题做两个限制: 首先,我们只考虑加法的虫食算。这里的加法是N进制加法,算式中三个数都有N位,允许有前导的0。 其次,虫子把所有的数都啃光了,我们只知道哪些数字是相同的,我们将相同的数字用相同的字母表示,不同的数字用不同的字母表示。如果这个算式是N进制的,我们就取英文字母表午的前N个大写字母来表示这个算式中的0到N-1这N个不同的数字:但是这N个字母并不一定顺序地代表0到N-1)。输入数据保证N个字母分别至少出现一次。 BADC CBDA DCCC 上面的算式是一个4进制的算式。很显然,我们只要让ABCD分别代表0123,便可以让这个式子成立了。你的任务是,对于给定的N进制加法算式,求出N个不同的字母分别代表的数字,使得该加法算式成立。输入数据保证有且仅有一组解 输入输出格式 输入格式: 包含四行。第一行有一个正整数N(N<=26),后面的3行每行有一个由大写字母组成的字符串,分别代表两个加数以及和。这3个字符串左右两端都没有空格,从高位到低位

统计字符串中字母出现的次数,字典形式输出(python)

浪尽此生 提交于 2020-03-26 06:53:46
a = "aAsmr3idd4bgs7Dlsf9eAF" 请将a字符串的数字取出,并输出成一个新的字符串。 请统计a字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母),并输出成一个字典。 例 {'a':3,'b':1} 请去除a字符串多次出现的字母,仅留最先出现的一个,大小写不敏感。例 'aAsmr3idd4bgs7Dlsf9eAF',经过去除后,输出 'asmr3id4bg7lf9e' a = "aAsmr3idd4bgs7Dlsf9eAF" def fun1_2(x): #1&2 x = x.lower() #大小写转换 num = [] dic = {} for i in x: if i.isdigit(): #判断如果为数字,请将a字符串的数字取出,并输出一个新的字符串 num.append(i) else: #2 请统计a字符串出现每个字母的出现次数(忽视大小写),并输出一个字典。例:{'a':3,'b':1} if i in dic: continue else: dic[i] = x.count(i) new = ''.join(num) print "the new numbers string is: " + new print "the dictionary is: %s" % dic fun1_2(a) def fun3(x): x = x

Java语言命名规则

若如初见. 提交于 2020-03-16 17:54:49
某厂面试归来,发现自己落伍了!>>> A:包 最好是域名倒过来,要求所有的字母小写 B:类或者接口 如果是一个单词首字母大写 如果是多个单词每个单词首字母大写(驼峰标识) C:方法或者变量 如果是一个单词全部小写 如果是多个单词,从第二个单词首字母大写 D:常量 如果是一个单词,所有字母大写 如果是多个单词,所有的单词大写,用下划线区分每个单词 这里的字母不仅仅局限于26个常见的英文字母 (知道就行) 来源: oschina 链接: https://my.oschina.net/u/1580996/blog/682048

Educational Codeforces Round 2

天涯浪子 提交于 2020-03-11 05:31:11
题目链接: https://codeforces.com/contest/600 A - Extract Numbers 一个很无聊的模拟,难度居然是1600,看来当时的竞赛和现在完全不一样。 B - Queries about less or equal elements 排个序二分一下,很无聊的一个题。注意应该使用upper_bound。 *C - Make Palindrome 一开始以为是随便贪心一下的无聊题,结果WA15了。 题意:给一个串s,可以对它进行重排,然后修改其中的一些字母。修改最少的次数使得他变成回文串,假如修改次数最少的有多种方案,求结果字典序最小的一种。 题解:假如串是奇数长度,那么可以容纳一个奇数字母,当然选择剩下的容纳最小的字母。然后想怎么构造两边,假如最小的字母还有剩,那么肯定放一个在左边,然后假如还有剩,再放一个在右边,continue。否则一定要进行一次修改,为了使得字典序最小,就应该找出现次数是奇数的最大的字母,把他变成最小的字母,然后放进去,continue。 当然写的时候就不需要这么蠢了。用cnt的方法写,注意要跳过奇数次的字母。 char s[200005]; int cnt[128]; void test_case() { scanf("%s", s + 1); int n = strlen(s + 1); for(int i = 1;

Java实现 LeetCode 242 有效的字母异位词

本秂侑毒 提交于 2020-03-10 23:18:13
有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s = “anagram”, t = “nagaram” 输出: true 示例 2: 输入: s = “rat”, t = “car” 输出: false 说明: 你可以假设字符串只包含小写字母。 进阶: 如果输入字符串包含 unicode 字符怎么办? 亨达全球HantecGlobal代理申请 你能否调整你的解法来应对这种情况? class Solution { public boolean isAnagram(String s, String t) { int[] map = new int[128]; char[] sArray = s.toCharArray(); for(char ch:sArray){ map[ch]++; } char[] tArray = t.toCharArray(); for(char ch:tArray){ map[ch]--; } for(int n:map){ if (n != 0) { return false; } } return true; } } 来源: 51CTO 作者: 专注地一哥 链接: https://blog.51cto.com/14511863/2475657

C++ string字符比较函数compare

隐身守侯 提交于 2020-03-10 14:01:58
compare()函数 在洛谷刷题时遇到一题需要使用字符串比较的题于是查了一下c++的字符比较函数,发现写的都比较复杂,我看不太懂~随便写写 copy 便于自己复习 可能有错误不要打我 使用方法 若参与比较的两个串值(也就是ASCII值)相同,则函数返回 0;若字符串 S 按字典顺序要先于 S2,则返回负值;反之,则返回正值。比较方法为从两个字符串开始比较的位置一个个字符顺序相比ASCII值。 常见ASCII码的大小规则:0-9 < A-Z < a-z。 1)数字比字母要小。如 “7”<“F”; 2)数字0比数字9要小,并按0到9顺序递增。如 “3”<“8” ; 3)字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z” ; 4)同个字母的大写字母比小写字母要小32。如“A”<“a” 。 几个常见字母的ASCII码大小: “A”为65;“a”为97;“0”为 48 下面举例说明如何使用 string 类的 compare() 函数。 s.compare(n) # include <iostream> # include <string> //字符串函数嘛 肯定要字符串头文件啦 using namespace std ; int main ( ) { string s ( "abc" ) ; string n ( "Abde" ) ; cout << "s.compare(n)="

力扣的电话号码的字母组合解法(Python)

眉间皱痕 提交于 2020-03-09 21:51:04
力扣的电话号码的字母组合解法 题目描述: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:“23” 输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”]. 说明: 尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 参考程序1: class Solution : def letterCombinations ( self , digits : str ) - > List [ str ] : dic = { '2' : "abc" , '3' : "def" , '4' : "ghi" , '5' : "jkl" , '6' : "mno" , '7' : "pqrs" , '8' : "tuv" , '9' : "wxyz" } result = [ ] for i in digits : temp = [ ] if len ( result ) ==

1136: 首字母变大写

会有一股神秘感。 提交于 2020-03-07 19:56:22
1136: 首字母变大写 时间限制: 1 Sec 内存限制: 128 MB 提交: 6410 解决: 3729 [状态] [讨论版] [提交] [命题人:admin] 题目描述 输入一个只包含大小写英文字母和空格的句子,将每个单词的第一个字母改成大写字母。 输入 输入一个长度不超过100的英文句子。 输出 请输出按照要求改写后的英文句子。 样例输入 Copy i like ACM 样例输出 Copy I Like ACM 在这里插入代#include < stdio . h > int main ( ) { char a [ 100 ] ; char ch ; int i , n = 0 ; while ( scanf ( "%c" , & ch ) , ch != '\n' ) { a [ n ] = ch ; n ++ ; } for ( i = 0 ; i < n ; i ++ ) { if ( a [ 0 ] <= 'z' && a [ 0 ] >= 'a' ) //检查第一个字母 a [ 0 ] = a [ 0 ] - 32 ; if ( a [ i ] == ' ' && a [ i + 1 ] != ' ' ) //检查除第一个后的每个单词的首字符 { if ( a [ i + 1 ] <= 'z' && a [ i + 1 ] >= 'a' ) a [ i + 1

组合数学总结

限于喜欢 提交于 2020-03-05 19:59:14
问题 E: 【排列组合问题】Jam的计数法 题目描述 囚犯之间的秘密交流使用一种被称为Jam的计数法,这种计数法不使用阿拉伯数字计数,而是使用小写英文字母计数,每个数字的位数都是相同的(使用相同个数的字母),英文字母按原先的顺序,排在前面的字母小于排在它后面的字母。在 Jam数字中,每个字母互不相同,而且从左到右是严格递增的。每次,Jam计数法还指定使用字母的范围,例如,从2到10,表示只能使用{b,c,d,e,f, g,h,i,j}这些字母。如果再规定位数为5,那么,紧接在Jam数字“bdfij”之后的数字应该是“bdghi”。(如果用U、V依次表示 Jam数字“bdfij”与“bdghi”,则U<V,且不存在Jam数字P,使U<P<V)。作为联络员的邪狼,他的任务是:对于从文件读入的一个 Jam数字,按顺序输出紧接在后面的5个Jam数字,如果后面没有那么多Jam数字,那么有几个就输出几个。 输入 有2行,第1行为3个正整数,用一个空格隔开:s t w(其中,s为所使用的最小的字母的序号,t为所使用的最大的字母的序号。w为数字的位数,这3个数满足:1≤s<t≤26,2≤w≤t-s ) 第2行为具有w个小写字母的字符串,为一个符合要求的Jam数字。 输出 最多为5行,为紧接在输入的Jam数字后面的5个Jam数字,如果后面没有那么多Jam数字,那么有几个就输出几个