//通过Map 类实现,通过键值对的方式,可以将输入的字符串的每一个字符,作为键,每个字符出现的次数作为值:如下: public class Find { public static void main(String[] args){ String scan=new Scanner(System.in).nextLine();//获取键盘上输入的字符串: Map<Character,Integer> map = new HashMap<Character,Integer>();//…
给定一个英文字符串,请编写一个PHP函数找出这个字符串中首先出现三次的那个英文字符(需要区分大小写),并返回 //统计字符串中出现的字符的出现次数 public function strNum(){ //接受参数 $str = input('param.str'); //定义空数组 $arr = []; //循环所有的字符串里的字符 for($i=0;$i<strlen($str);$i++){ //判断是否存在 if(isset($arr[$str[$i]])){ //存在次数+1 $arr[…
最近面试总是刷到这个题,然后第一次的话思路很乱,这个是我个人思路 for循环里两个 if 判断还可以优化 var maxLength = 0; var maxStr = ''; var count = 1; var stringList = 'adsafsfgadsdaasssssaasssdfssss'; // 首先对字符串进行排列,方便比较 stringList = stringList.split('').sort(); // 比较字符串相邻位置是否相同 for (let i = 0; i…
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3. 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1. 示例 3: 输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "wke&qu…
1.给出任意一个字符串,打印一个最长子串字符串及其长度,如果有相同长度的子字符串,都要一起打印出来,该子字符串满足以下条件, 第一个字母和最后一个字符是第一次重复 这个子字符串的中间字母没有重复 这个子字符串是满足条件里面的最长的 如: adsasadmasd 中满足条件的是dmasd import re def maxsubstring(s): res_list=[] max_len=0 for i in range(len(s)): index=s[i+1:].find(s[i]) if i…
/** * 找出B出现在A中的起始位置 * @param A * @param lenA * @param B * @param lenB * @date 2016-10-7 * @author shaobn */ public static int findApperance(String A,int lenA,String B,int lenB){ if(!A.contains(B) || lenB>lenA){ return -1; }else if (lenB==lenA) { retu…
学习了别人的方法,觉得挺巧妙的.就是每次取出字符串的第一个字符,将字符串中与第一个字符相同的字符全部删除掉,然后通过计算删除前后字符串的长度来确定该字符在字符串中出现的次数,最终比较出出现最多次的字符. import java.util.Scanner; public class Lily { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); String string=scanner…
function getCount(str) { for(var code=32;code<128;code++){ var mych=String.fromCharCode(code); var count=0; for(var i=0;i<str.length;i++){ var ch=str.charAt(i); if(ch===mych){ count++; } } if(count>0){ console.log("字符"+mych+"出现了&qu…
方法一: var str="sdfseresssssdssdfsa"; var arr=[]; var max=0; var maxk; for(var i=0;i<str.length;i++){ var k=str[i]; if(!arr[k]){ arr[k]=str.split(k).length-1; } } for(var n in arr){ if(max < arr[n]){ max=arr[n]; maxk=n; } } console.log("…
已知字符串"aabbbcddddeeffffghijklmnopqrst"编程找出出现最多的字符和次数,要求时间复杂度小于O(n^2) /******************************************************** Copyright (C), 2016-2017, FileName: main9 Author: woniu201 Email: wangpengfei.201@163.com Created: 2017/10/31 Descripti…