编写一个程序,将输入字符串中的字符按如下规则排序。
规则 1 :英文字母从 A 到 Z 排列,不区分大小写。
如,输入: Type 输出: epTy
规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。
如,输入: BabA 输出: aABb
规则 3 :非英文字母的其它字符保持原来的位置。
如,输入: By?e 输出: Be?y
// 思路,一个数组存储字母(排序后的)
// 一个对象存储非字母的键值(索引+值)
while(true){
// 判断结束条件
if(arr=readline()){
arr=arr.split('')
}else{
break;
}
//var arr=readline().split('')
var eng=[]; // 存储字母
var other={}; // 存储非字母
for(var i=0;i<arr.length;i++){
if((arr[i]>='a'&&arr[i]<='z')||(arr[i]>='A'&&arr[i]<='Z')){
eng.push(arr[i])
}else{
other[i]=arr[i]
}
}
//console.log(eng)
// 比较大写形式,也即是不区分大小写
for(var m=0;m<eng.length;m++){
for(var n=0;n<eng.length-m-1;n++){
if(eng[n].toUpperCase()>eng[n+1].toUpperCase()){
var tem=eng[n];
eng[n]=eng[n+1];
eng[n+1]=tem;
}
}
}
//有一点需要注意,在本地使用IDE,对eng使用sort()参数为一个自定义函数
// 可以实现排序,但是在EDG浏览器和牛客上,会出现排序错误,不是想要的结果
var str=""
for(var i=0;i<arr.length;i++){
// 该索引被非字母占据了
if(other[i]){
str+=other[i]
}else{
str+=eng[0];
// 已经用过的就删除
eng.shift()
}
}
console.log(str)
}
相关推荐
Ubuntu20.04下SRS流媒体服务器的安装与开机自启动优化指南
本文详细介绍了在Ubuntu20.04系统下安装SRS流媒体服务器并优化开机自启动的完整指南。从基础环境准备、服务管理方案对比到systemd自启动深度优化,提供了实用的配置技巧和排查方法,帮助用户快速搭建稳定的流媒体服务环境。特别推荐使用systemd方案实现高效的自启动管理。
ASCLL字母表顺序
ASCLL名词解释: ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符。 图示: 大小规则: 常见ASCII码的大小规则:0~9<A~Z<.
实现字符串的排列算法(前端)
字符串的排列是指通过交换字符串中的字符,得到所有可能的组合。在本文中,我将为你介绍如何在前端实现字符串的排列算法,并提供相应的源代码。通过使用递归算法,我们可以在前端实现字符串的排列。这样的排列算法可以用于解决一些字符串组合的问题,例如生成密码的可能性、搜索引擎的关键词匹配等。如果当前处理字符的索引小于字符数组的长度,那么通过一个循环遍历从当前索引开始的字符,并依次与后面的字符进行交换。函数中,首先判断当前处理字符的索引是否等于字符数组的长度,如果是,则将当前结果添加到结果集。,用于生成字符串的排列。
【排序】js简单实现前端数组排序,多字段数组对象排序,字符串排序,数字排序等
数组对象根据某一个字段排序。
前端开发中按照汉字首字母排序分组
在前端开发过程中,按照汉字首字母排序分组是很常见的操作,比如联系人列表 引入第三方插件 npm i --save jian-pinyin
中英文按照首字母A~Z顺序排序
查了网上很多方法,最后实现如下:(VUE) 数据格式如下: VUEdata data: { filter:{}, brand:[], }, methods:{ pySort:function(arr,empty){ var $this = this; if(!String.prototype.localeCompare)
字母排序 字符串跟字符串比较大小 字符串跟数字比较大小
对于非数字进行比较 则会先转换为数字进行比较 特殊情况 当两边都是字符串 不会转换为数字进行比较 想要比较一个数字样式的字符串 则一定要先进行字符转型 而是比较他们的Unicode编码即字符编码 从第一位开始一位一位进行比较 当若比较出大小则不往下进行 取比较出的结果 若一直为相等 则 取相等 可利用这个特性进行字母排序 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title&
汉字转拼音首字母并按字母排序展示
通过JavaScript将汉字商家名称转换为拼音首字母,利用拼音数据对商家列表进行排序,并按A-Z分类动态生成页面结构,实现前端高效分类展示功能。
js[中英文排序-获取中文拼音]
英文字母排序数组示例: arr = [ { cat: "Aqwe"}, { cat: "gasd"}, { cat: "Cwqe"}, { cat: "csdw"}, { cat: "Yqqa"}, { cat: "csdw"}, { cat: "dsdw"}, { cat: "Dbdw"}, ...
工作总结:按字母排序下拉框,点击首字母,跳转到对应位置
应需求要求,最近要做一个类似于手机端首字母排序的下拉框。 整理了一下思路,大概分为一下几个步骤: 由于数据库中的字段没有存首字母的信息,所以要将sql改造 在后台处理相关数据,将取得的数据按英文字母排序 前台写一个统一的js方法,以便不同位置统一调用 其实后台和sql语句没有什么难点,主要是前端的样式,滚动条滚动,点击跳转滚动条。 1)sqlSELECT ID AS id, BRAND A
js 中文英文数字首字母混合排序
javascript 中文 英文 数字 首字母混合排序
vue中用js将json数据按英文字母顺序进行排序
js 把对象按照属性名的字母顺序进行排列 var obj = {name: “zhangsan”, age: 8, ace: 5, nbme: “lisi”};//要排序的对象 function objKeySort(obj) {//排序的函数 var newkey = Object.keys(obj).sort(); //先用Object内置类的keys方法获取要排序对象的属性名,再利用A...
汉字转拼音首字母并按字母排序展示商家
通过将汉字商家名称转换为拼音首字母,实现前端对商家列表的字母分类与排序展示。利用拼音映射表获取首字母,结合JavaScript排序和DOM操作,动态生成带字母索引的商家列表,提升用户体验。
按字母顺序排序
实现对表示12个月份的英文单词按字母顺序进行排序 #include<stdio.h> #include<string.h> sort(char *strings[],int n){ char *temp; int i,j; for(i=0;i<n;i++){ for(j=i+1;j<n;j++){ if(strcmp(strings[i],strings[j])>0){ temp=strings[i]; strings[i]=st.
JS英文、中文按首字母排序
排序用到的方法就是:localeCompare() 方法返回一个数字来指示一个参考字符串是否在排序顺序前面或之后或与给定字符串相同。 直接上代码: // 参数 let arr = [{id:'sh',name:'上海'},{id:'bj',name:'北京'},{id:'gz',name:'广东'},{id:'sz',name:'深圳'}] arr.sort((a, b) => a['id'].localeCompare(b['id'])) console.log(arr) let arr1 =
前端中高级基础知识面试汇总
保持学习,保持热爱。持续更新ing~ 前端基础github地址。README.md可以下载到typora中打开,会有整个大纲目录显示(github中markdown目录快捷生成方式不现实,之后可能会想办法生成贴过来,暂时不做相关处理) 前端基础gitbook地址。README.md中会实时更新进度内容。gitbook中考虑整个学完整理完成之后,再去统一处理发布,敬请期待!gitbook版本可建议后期碎片化时间进行复习使用。 前端基础csdn地址。CSDN博客专栏前端自我修养进阶中,也会一篇一篇实时更新相关
PTA 提取不重复的英文字母 python
输入一个英文字符串,对该字符串中出现的英文字母进行提取(不区分大小写,重复字母只计一次)存入一个列表里,并将列表里的字母都转换成大写字母,再按照字母表顺序升序排列后输出。例如,用户输入“I miss you.”,程序输出['I', 'M', 'O', 'S', 'U', 'Y']。
JS数组对象——中文按照首字母排序(分组)sort()、localeCompare()
排序在后台管理系统对于数据的处理中用得非常多。本期文章重点介绍根据中文首字母排序和分组。将用到JavaScript的sort()和localeCompare()方法,分组将涉及到外部插件的引入。
order:对数据进行大写字母排序展示给前端
from xpinyin import Pinyin pin = Pinyin() from collections import OrderedDict def deal_conversion(tags): """ 将标签中的值得中文名处理为拼音,英文名不变 :param tags: :return: """ _t...
NFT数藏源码已接支付数字藏品源码.zip
NFT数藏源码 已接支付 数字藏品源码
386


&spm=1001.2101.3001.11974&articleId=105291086&d=1&t=3&u=7cacafbac8554cea92902743429a510c)

被折叠的 条评论
为什么被折叠?



