字母

LeetCode:917.仅仅反转字母

元气小坏坏 提交于 2020-01-22 07:57:53
题目: 给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。 示例 1 : 输入: "ab-cd" 输出: "dc-ba" 示例 2 : 输入: "a-bC-dEf-ghIj" 输出: "j-Ih-gfE-dCba" 示例 3 : 输入: "Test1ng-Leet=code-Q!" 输出: "Qedo1ct-eeLg=ntse-T!" 源码: class Solution { public String reverseOnlyLetters ( String S ) { // 双指针法 int left = 0 ; int right = S . length ( ) - 1 ; char [ ] chars = S . toCharArray ( ) ; // count 记录字符串中有多少个字母 int count = 0 ; for ( int i = 0 ; i < chars . length ; i ++ ) { if ( ! isCharacter ( chars , i ) ) { count ++ ; } } // 能够反转的字母组数 count = count / 2 ; // 记录已经反转的组数 if ( count == 0 ) { return new String ( chars ) ; } int

寒假训练1.17训练赛D

匆匆过客 提交于 2020-01-22 03:33:09
题目 有一个长度为n(1<=n<=2*10^5)且仅包含着"R",“B”,"G"三种字母的字符串s。 你可以将任意一个字母修改成另外两个字母。 要求相邻两个字母不能相同,求最小的修改次数。 解题思路 如果有字符串中一段连续的B,例如BBBBB,那么可以看一下连续的B后面接着是哪一种字母(末尾没有,初始化加上一个),这样的话可以把第偶数位的B改成另一位字母。 例如 BBBBR可以改为BGBGR BBBBBR可以改为BGBGBR 代码 # include <cstdio> # include <iostream> # include <string> using namespace std ; int main ( ) { int len ; string st ; int ans = 0 ; cin >> len ; cin >> st ; if ( st [ len - 1 ] == 'B' ) st = st + "G" ; else if ( st [ len - 1 ] == 'G' ) st = st + "B" ; else if ( st [ len - 1 ] == 'R' ) st = st + "B" ; char sym = st [ 0 ] ; int num = 0 ; for ( int i = 0 ; i <= len ; i ++ ) if ( st

寒假训练1.17训练赛E

和自甴很熟 提交于 2020-01-22 00:18:12
题目 Polycarp loves ciphers. He has invented his own cipher called repeating. Repeating cipher is used for strings. To encrypt the string s=s1s2…sm (1≤m≤10), Polycarp uses the following algorithm: he writes down s1 ones, he writes down s2 twice, he writes down s3 three times, … he writes down sm m times. For example, if s=“bab” the process is: “b” → “baa” → “baabbb”. So the encrypted s=“bab” is “baabbb”. Given string t — the result of encryption of some string s. Your task is to decrypt it, i. e. find the string s. 题目大意 有一个字符串s=s1,s2,s3,…,sm(1<=m<=10) 小P将第一个字母写一次 将第二个字母写两次 将第三个字母写三次 将第m个字母写m次

vue实现按字母A-Z选择城市

旧城冷巷雨未停 提交于 2020-01-19 18:19:09
<template> <div class="assetAllocation"> <Header class="header" @PagebackFun="BackFun" :IsBack="IsBack" :HeaderText="HeaderText"></Header> <div class="contentBox"> <div v-for="(cityObj,index) in compopanyJSON" :id="index+'Content'"> <p class="letterColor" v-show="cityObj.length > 0">{{index}}</p> <ul> <li v-for="item in cityObj" class="assetsCity" @tap="selectCom(item.compopany)" :id="item.compopany+'City'">{{item.compopany}}</li> </ul> </div> <div class="letters"> <ul> <li class="letter" v-for="(key,indexL) in letters" @tap="selectCompony(key,indexL)">{{key}}</li> </ul> </div> <div class=

输入框输入可以有数字,字母并以逗号分隔

情到浓时终转凉″ 提交于 2020-01-19 18:03:51
/** * 字母或者数字,并以逗号分隔开 * @param str * 徐沛沛 21517 * 2015年2月2日 * 下午1:50:45 */ letterOrNumberOrComma : function(str) { var reg = /^[0-9a-zA-Z,]*$/g; return reg.test(str); }, 来源: CSDN 作者: cherry_zhang1 链接: https://blog.csdn.net/cherry_zhang18/article/details/104041104

P4432 [COCI2017-2018#2] ​​ZigZag

二次信任 提交于 2020-01-18 03:04:24
题意翻译 Zig和Zag正在玩文字游戏。Zig说了一个字母,而Zag说了一个以该字母开头的单词。但是这个词需要出现在给出的单词列表中,并且被是相同首字母中使用的次数最少的单词。如果单词的选择不明确(即相同首字母中使用的次数最少的单词不止一个),那么Zag会选择字典序较小的字母。输入保证对于每个Zig的字母,都有可以选择的单词。 假设有一个由K个不同的单词组成的列表和一个Zig给出的N个字母组成的列表。编写一个程序,根据输入,输出Zag在游戏过程中说出的N个单词。 输入输出格式 输入格式: 第一行输入包含来自的正整数K(1≤K≤100 000)和N(1≤N≤100 000)。 以下K行是K个单词,由小写英文字母组成,不超过21个字母。 以下N行是Zig说的N个小写英文字母。 输出格式: N行,分别对应N个Zig的询问。 题目描述 Zig and Zag are playing a word game. Zig says one letter, and Zag says a word that starts with that letter. However, the word needs to be from the allowed word list and such that Zag already said it the least amount of times. If

有效的字母异位词

别来无恙 提交于 2020-01-16 20:47:13
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 思路: 哈希映射 首先判断两个字符串长度是否相等,不相等则直接返回 false 若相等,则初始化 26 个字母哈希表,遍历字符串 s 和 t s 负责在对应位置增加,t 负责在对应位置减少 如果哈希表的值都为 0,则二者是字母异位词 /** * 有效的字母异位词 * @param s * @param t * @return */ public boolean isAnagram(String s, String t) { if (s.length() != t.length()) { return false; } int[] counter = new int[26]; //两个字符串中每个字母的出现次数并进行比较 for (int i = 0; i < s.length(); i++) { counter[s.charAt(i) - 'a']++; counter[t.charAt(i) - 'a']--; } for (int count : counter) { if (count != 0) { return false; } } return true; } 来源: CSDN 作者:

波雷费密码算法-java实现

风格不统一 提交于 2020-01-16 20:05:24
一、算法描述 波雷费密码是一种对称式密码,是首种双字母取代的加密法。 下面描述算法步骤: 从1号二维码M05,提取明文信息和密文,M05格式:<xxx…xxx|yyy…yyy>,其中明文xxx…xxx,密钥部分信息为yyy…yyy中的提取所有英文字母信息。 将提取的英文字母作密匙。除去重复出现的字母。将密匙的字母逐个逐个加入5×5的矩阵内,剩下的空间将未加入的英文字母依A-Z的顺序加入。(将Q去除) 将要加密的讯息分成两个一组。若组内的字母相同,将X加到该组的第一个字母后,重新分组。若剩下一个字,也加入X字。 在每组中,找出两个字母在矩阵中的地方。 若两个字母不同行也不同列,在矩阵中找出另外两个字母,使这四个字母成为一个长方形的四个角。    若两个字母同行,取这两个字母右方的字母(若字母在最右方则取最左方的字母)。    若两个字母同列,取这两个字母下方的字母(若字母在最下方则取最上方的字母)。 新找到的两个字母就是原本的两个字母加密的结果。 取密文前3个字符与后三个字符(大写字母)作为对应6位的红外报警开启码。 二、算法过程示例 例:二维码内容为:<hidethegold|play5fair9example>。 1.明文信息hidethegold和密匙playfairexample    2.根据密钥形成5*5的矩阵。 P L A Y F I R E X M B C D G H

文本是连续的数字或字母出现不换行情况的处理,文字爬出界了

社会主义新天地 提交于 2020-01-15 20:01:33
出现的示例图片: { word - break : break - all ; } 改正后: 这个属性在样式上可以解决,但我在小程序的啥时候有时不起作用,暂时还没找到原因,还是建议在 管理端,输入的时候做控制判断,避免输入连续的字母或数字 来源: CSDN 作者: 前端那些小事 链接: https://blog.csdn.net/flyingLF/article/details/103993980

Python字符串

感情迁移 提交于 2020-01-15 17:00:15
Python字符串 函数字典目录 字母大小写 1. title() 2.upper() 3.lower() 字符串长度 4.len() 去除空白 5.lstrip 6.rstrip 7.strip 字符串的表示 msg1 = " Hello World!" #直接用“…” 表示 msg2 = ' Hello World! ' #直接用‘…’表示 msg3 = " I 'like' you! " #同时有单、双引号,双引号放最外层 msg3 = ' I "like" you! ' #同时有单、双引号,单引号放最外层 msg4 = " Hello , my name \' is \" Sherly! " #同时有单、双引号,运用转义符 print ( msg1 ) print ( msg2 ) print ( msg3 ) print ( msg4 ) 运行结果: 函数 title() 将字符串中单词首字母大写,其余字母小写 msg = " Hello , my name is SHERLY ! " msg5 = msg . title ( ) #将msg中单词首字母大写 print ( msg ) print ( msg5 ) 运行结果: upper() 将字符串中所有字母大写 msg = " Hello , my name is SHERLY ! " msg6 = msg .