精华内容
下载资源
问答
  • 从两个字符串(str_1,str_2)中找出最大公共子字符串(comString)的方法为: 选取长度较短的字符串(假设str_1较短)做截取; 从字符串中截取长度为1的子字符串; 每个子字符串都str_2中做查询,查询到则将该字符...

    从两个字符串(str_1,str_2)中找出最大公共子字符串(comString)的方法为:

    1. 选取长度较短的字符串(假设str_1较短)做截取;
    2. 从字符串中截取长度为1的子字符串;
    3. 每个子字符串都在str_2中做查询,查询到则将该字符串赋予comString;
    4. 从字符串中截取长度为2的子字符串,重复3;
    5. 从字符串中截取长度为n的子字符串,重复3;
    6. 结束。

    截取字符串例子:

    从两个字符串中找出最大公共子字符串

    实例:

    [Java]
    /** 
    * 题目:求两个字符串的最大公共子字符串 
    * 思路:将短的字符串从短到长做字符串截取,截取结果与另一个字符串做查询,如果查询到,默认为公共字符串。
    */
    package com.company;
    public class Main{    
    public static void main(String[] args)    {        
    	String str_1="abcdefghijk";        
    	String str_2="abcdfghabcdef";        
    	commonString(str_1,str_2);    
    }    
    public static  void commonString(String str_1,String str_2)    {        
    String comString="";  //用于存放公共字符串        
    String childString="";  //存放拆分得到的子字符串        
    String minString=str_1.length<str_2.length?str_1:str_2;  
    //选取短的字符串做拆分        
    //System.out.println(minString); 
    for(int i=1;i<=minString.length;i++){
      for(int j=0;j<minString.length;j++) { 
    	if(j+i<=minString.length) { 
    	childString = minString.substring(j, j + i); 
    	if (str_2.indexOf(childString) != -1)  
    	//如果不等于-1,则表示在str_2里面找到childString 
    	   comString = childString; 
    		} 
        	     }      
      System.out.println(comString); 
    	}
       }
    }
    展开全文
  • 遍历字符串找出每个字符 利用对象键的唯一性,找出每个字符出现几次 var str = "assadfghjkl"; var obj = {} for(var i=0; i<str.length;i++){ var val = str.charAt(i); if(!obj[val]){ obj[val] = 1; ...
    • 遍历字符串,找出每一个字符
    • 利用对象键的唯一性,找出每一个字符出现几次
    var str = "assadfghjkl";
    var obj = {}
    for(var i=0; i<str.length;i++){
        var val = str.charAt(i);
        if(!obj[val]){
            obj[val] = 1;
        }else{
            obj[val]++
        }
    }
    

    遍历对象拿出出现最多的

    var max = 0 ;
    var most = 0;
    for(var i in obj){
        if(obj[i] > max){
            max = obj[i];
            most = i;
        }
    }
    

    打印max是最大数most是出现最多的字符

    展开全文
  • 思路:将字符的ASC码值当作下标,先遍历一遍,找出ASC码值最大字符,以他的ASC码值+1为创建字符数组的个数;再遍历第二遍时,将字符的个数写入对应的ASC码值下标所指向的空间里。最后遍历第三遍,看一,就根据...

    要求时间复杂度为O(n)

    如:abcaddb; 找到的第一个不重复的字符为c,将输出c。

    思路:将字符的ASC码值当作下标,先遍历一遍,找出ASC码值最大的字符,以他的ASC码值+1为创建字符数组的个数;再遍历第二遍时,将字符的个数写入对应的ASC码值下标所指向的空间里。最后遍历第三遍,每看一个,就根据他的ASC码值去找他的个数,如果为一,这个数就为所求,就输出这个数。


    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main()
    {
    	char* ps = " helloabcdclexym";
    	int n = 0;
    	int max = *ps;
    
    	while(*(ps+n) != '\0'){
    		if(max < *(ps+n))	
    			max = *(ps + n);
    		n++;
    	}
    	int* pd = malloc(sizeof(int)*(max+1));
    	memset(pd, 0, (max+1)*4);	
    
    	n = 0;
    	while(*(ps+n) != '\0'){
    		pd[ps[n]]++;
    		n++;
    	}
    	n = 0;
    	while(*(ps+n) != '\0'){
    		if(pd[ps[n]] == 1){
    			printf("[%c]\n", ps[n]);
    			break;
    		}
    		n++;	
    	}	
    	return 0;
    }
    

    展开全文
  • 已知一条区块链是由若干个连续区块组成的,每个区块都对应一个不唯一的编号bi,(bi0-9之间),现输入一个字符串代表一个区块链,请找出该区块链连续且编号相同的区块长度的最大值以及对应的编号。如果存在若干个...

    已知一条区块链是由若干个连续区块组成的,每个区块都对应一个不唯一的编号bi,(bi在0-9之间),现输入一个字符串代表一个区块链,请找出该区块链中连续编号相同的区块长度的最大值以及对应的编号。如果存在若干个长度相同的结果,则输出最先出现的区块编号。

    例如:“11100011”代表一个区块链,其中有8个区块,第一个区块为1,第二个区块为1,第三个区块为1,第四个区块为0,以此类推。则最长连续且编号相同的区块为第1,2,3和第4,5,6区块即“111”和“000”,长度都为3,编号分别为1和0,又因为最先出现的优先,所以最终的结果为:3 1

    以下是程序:

    import java.util.Scanner;
    
    public class TestDemo {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            String str = sc.next();
            char c = str.charAt(0);//初始值
            int count = 1;//统计连续相同字符的个数
            int strSame = 1;// 初始连续相同个数为1
            // 遍历字符串
            for (int i = 0; i < str.length()-1; i++) {
                //判断下一个字符是否和当前字符相同
                if(str.charAt(i) == str.charAt(i+1)){
                    strSame++;
                    //判断当前连续相同的字符总数是否大于count
                    if(strSame > count){
                        // 如果strSame大于count则说明有更多的连续相同的区块出现
                        count = strSame;
                        // 记录当前区块的编号
                        c = str.charAt(i);
                    }
                }else{
                    //如果下一个区块和当前区块不相同,则重制strSame
                    strSame = 1;
                }
            }
            System.out.println(count+" "+c);
        }
    }

     

    展开全文
  • 最大字符串

    2021-02-25 19:19:25
    一行中输出读入的3个字符串中最大一个。 请注意行尾输出换行。 输入 CHINA HOLLAND AMERICA 输出 HOLLAND // 最大的字符串 #include<iostream> #define N 100 //字符串长度上限 using namespace std; ...
  • 输入一个字符串,长度不超过30,内有数字字符和非数字字符,请找出字符串中所有由连续数字字符组成的正整数,并按出现顺序输出。 输入 一个字符串最大长度为100,不包含空格等空白符。 输出 按出现顺序输出字符串...
  • 今天面试翻倒一个问题:求两个字符串最大公共子串,我用逐个B的越来越短的子串去AFIND,总觉得效率不高,搜索了一下有一个算法很巧妙: 把字符串1(长度m)横排,串2(长度n)竖排,得到一个m×n的矩阵c,...
  • 从所输入的若干字符串中找出一个最大的串,并输出该串。要求最大串的查找通过调用编写的函数实现 void find(char *name[], int n, int *p) { //包含n个字符串的二维字符数组name中,查找值最大的字符串,将其...
  • i++){//以i为A“子字符串”首位,遍历B,看B与A[i]起的子字符串最大匹配数量是多少,记为count[i],每个count[i]对应A个字符 for(j = 0;j (B);j++){ while(A[i + c] == B[j]){//准备了一个c做偏移,...
  • 从所输入的若干字符串中找出一个最大的串,并输出该串。要求最大串的查找通过调用编写的函数实现 void find(char *name[], int n, int *p) { //包含n个字符串的二维字符数组name中,查找值最大的字符串,将其...
  • 从所输入的若干字符串中找出一个最大的串,并输出该串。要求最大串的查找通过调用编写的函数实现 void find(char *name[], int n, int *p) { //包含n个字符串的二维字符数组name中,查找值最大的字符串,将其...
  • 这道题的题目略长,理解起来也比较费劲,大致的意思就是要给的字符串中找出一个字符串,这个字符串中的a,e,i,o,u五个字母都出现了偶数次。 这道题其实和之前写的乘积最大的子数组,和为k的子数组都有一些类似的...
  • 从所输入的若干字符串中找出一个最大的串,并输出该串。要求最大串的查找通过调用编写的函数实现 void find(char *name[], int n, int *p) { //包含n个字符串的二维字符数组name中,查找值最大的字符串,将其...
  • 找出最大数字

    2020-06-04 09:48:45
    一组同学中每个人有一张卡片,卡片上有一个数字该数字不超过6位,输入每个卡片上的数字,求他们能组成的最大的数字串。 例如: 输入45,9,813 输出 981345 思路: 比较两个数字字符串大小,如果str1+str2 组合...
  • 关于回文字符串

    2016-05-03 19:50:00
    2 找出个字符串中的最长的回文字符串 先找出a[i-1]=a[i+1]或者a[i]=a[i+1]这样的数,然后像两边扩展,记录下长度和位置,直到遍历完所有的字符串,然后找出长度最大的 3给你一个字符串,可任意位置添加...
  • 题目要求 原题链接:988....(小贴士:字符串中任何较短的前缀字典序上都是较小的:例如,字典序上 “ab” 比 “aba” 要小。叶结点是指没有子结点的结点。) 示例 1: 输入:[0,1,2,3,4,3,4] 输出:"dba
  • 请从字符串中找出最长的不包含重复字符串的子字符串,计算该最长子字符串的长度。假设字符串中只包含‘a’~‘z’的字符。例如,字符串“arabcacfr”中,最长的不含重复字符的子字符串是“acfr”,长度为4。 用...
  • C语言 数组——字符串比大小

    千次阅读 2020-04-08 21:19:13
    输入3个字符串,找出并输出其中...一行中输出读入的3个字符串中最大一个。 请注意行尾输出换行。 样例输入 CHINA HOLLAND AMERICA #include <stdio.h> #include <string.h> int main() { char str...
  • 「平衡字符串,‘L’ 和 ‘R’ 字符的数量是相同的。 给平衡字符串 s,请你将它分割成尽可能多的平衡字符串。 返回可以通过分割得到的平衡字符串最大数量。 示例 1: 输入:s = “RLRRLLRLRL” ...
  • 一条基因序列由一个带有8个字符的字符串表示,其中每个字符都属于 "A", "C", "G", "T"的任意一个。 假设我们要调查一个基因序列的变化。一次基因变化意味着这个基因序列的一个字符发生了变化。 例如,基因序列由...
  • 思路(能力有限,比较菜,...然后,遍历存放字符重复次数的对象,找出字符重复次数的最大值,再遍历一遍找到重复次数等于最大值的元素取出来。(这里不合并操作是因为,s重复次数为4,d重复次数也为4,这样会漏掉一
  • 每个字符串长度100以内,且全为小写字母。 样例输入 one two three four five 样例输出 three 资源限制 时间限制:1.0s 内存限制:512.0MB 思路: 使用string类的split()方法,然后通过一一比对,找出最大长度,...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 308
精华内容 123
关键字:

在每个字符串中找出最大字符