移除重复字符很简单,这里是最笨,也是最简单的一种.问题关键是理解排序的意义: # coding=utf-8 #learning at jeapedu in 2013/10/26 #移除给定字符串中重复字符,参数s是字符串 def removeDuplicate(s): s = list(s) s.sort() #对给定字符串排序,不排序可能移除不完整 for i in s: while s.count(i) > 1: s.remove(i) s = "".join(s) #把列表
Qualys项目中写到将ServerIP以“,”分割后插入数据库并将重复的IP去除后发送到服务器进行Scan,于是我写了下面的一段用来剔除重复IP: //CR#1796870 modify by v-yangwu, remove the IPs which are repeated. string[] arrayIP = ipAll.Split(','); List<string> listIP = new List<string>(); foreach (string ip in
var res = "a-b-c-d";var index = find(res,'-',1); //字符串res中第二个‘-’的下标 var ress = res.substring(index); //ress的值为 "-c-d" function find(str,cha,num){ var x=str.indexOf(cha); for(var i=0;i<num;i++){ x=str.indexOf(cha,x+1); } return x;}
因为C#的code,感觉实现这个还是比较容易,只是SB.所以,在面试时候,以为不会这么容易,所以,我先试着用了Dictionary去实现,发现有困难.然后改回来用StringBuilder实现,这个因为比较简单了,总以为这样会有问题.所以不知道这样是不是对的. 结果当然很不理想,我准备后面学习一下C++,看看这个题目用C++实现有什么值得注意的地方.还是有什么精华所在. using System; using System.Collections.Generic; using System.Li
If order does not matter, you can use foo = "mppmt" "".join(set(foo)) set() will create a set of unique letters in the string, and "".join() will join the letters back to a string in arbitrary order. If order does matter,
/** 取出字符串中重复字数最多的字符 */ var words = 'sdfghjkfastgbyhnvdstyaujskgfdfhlaa'; //创建字符串 var word, //单个字符 length; //该字符的长度 //定义输出对象 var max = { wordName : '', //重复次数最多的字符 wordLength : 0 //重复的次数 }; //递归方法,传入字符串 (function(words) { if (!words) return; //如果字符串已经