`

有N个数,例如3351353558,求出最多的那个数

阅读更多
import java.util.ArrayList;    
import java.util.Collections;    
import java.util.HashMap;    
import java.util.List;    
import java.util.Map;    
   
/**   
 *  对字符集中字符出现的次数进行排序。   
 *    
 * @author 赵学庆 www.java2000.net   
 */   
public class T {    
  public static void main(String args[]) {    
    String str = "12345678hfdjkslahfkj932189oiefsjkar94werfdsf";    
    Map<Character, KeyValue> map = new HashMap<Character, KeyValue>();    
    char c;    
    KeyValue kv = null;    
    for (int i = 0; i < str.length(); i++) {    
      c = str.charAt(i);    
      kv = map.get(c);    
      if (kv == null) {    
        kv = new KeyValue();    
        kv.ch = c;    
        kv.count = 1;    
        map.put(c, kv);    
      } else {    
        kv.count++;    
      }    
    }    
    List<KeyValue> list = new ArrayList<KeyValue>(map.values());    
    Collections.sort(list);    
    for (KeyValue o : list) {    
      System.out.println(o.ch + "=" + o.count);    
    }    
  }    
}    
   
class KeyValue implements Comparable {    
  public int compareTo(Object obj) {    
    if (obj instanceof KeyValue) {    
      KeyValue kv = (KeyValue) obj;    
      return kv.count - this.count;    
    }    
    return -1;    
  }    
   
  char ch;    
   
  int count;    
}   

-----------------------------------------------------------------------------------------------------------
public class TestCount
{

    /**
     * @param args
     */
    public static void main(String[] args)
    {
        String str = "12455547464515475354635";

        int[] x = new int[10];
        char[] ca = str.toCharArray();
        for (int i = 0; i < ca.length; i++)
        {
            x[ca[i] - '0']++;
        }

        for (int i = 0; i < x.length; i++)
        {
            System.out.println("字符" + (char) ('0' + i) + "出现了" + x[i] + "次");
        }

    }

}

--------------------------------------------------------------------------------------
  
 public static void main(String[] args) 
{
        int[] data = { 3, 3, 5, 1, 3, 5, 3, 5, 5, 8 };
        Map<Integer, Integer> m = new HashMap<Integer, Integer>();
        for (int i = 0; i < data.length; i++) 
       {
            if (m.get(data[i]) == null) {
                m.put(data[i], 1);
            } else {
                m.put(data[i], m.get(data[i]) + 1);
            }
        }
        System.out.println("Map里的元素: " + m);

        int t = 0;
        Set<Map.Entry<Integer, Integer>> set = m.entrySet();
        for (Entry<Integer, Integer> entry : set) {
            if (entry.getValue() > t) {
                t = entry.getValue();
            }
        }

        System.out.println("次数最多的有:");
        for (Entry<Integer, Integer> entry : set) {
            if (entry.getValue() == t) {
                System.out.println(entry.getKey());
            }
        }
    }
}
---------------------------------------------------------------------------------




public static void main(String[] args) 
{
        String str = "12455547464515475354635";
        String out = "";

        char[] ca = str.toCharArray();

        Arrays.sort(ca);

        for (char c : ca) 
        {
            out += c;
        }

        Matcher m = Pattern.compile("(\\d)\\1*").matcher(out);

        while (m.find())
            System.out.println(m.group().charAt(0) + "的个数:"
                    + m.group().length());
    }

----------------------------------------------------------------------



import javax.swing.*; 

public class To { 
private static String s = JOptionPane.showInputDialog("Enter a Integer number: "); 

public static char getCh(String s) { 
    int max = 0; 
    char ch=' '; 

    for (int i = 0; i  < s.length(); i++) { 
    char c = s.charAt(i); 

    int ntimes = s.length() - s.replaceAll(Character.toString(c), "").length(); 
    if (ntimes > max) { 
    max = ntimes; 
    ch = c; 
    } 
    } 

    return ch; 
} 

public static void main(String[] args){ 
System.out.println("The number is : "+getCh(s)); 
} 
} 
---------------------------------------------------------------------------

import javax.swing.*; 

public class To { 
private static String s = JOptionPane.showInputDialog("Enter a Integer number: "); 

public static char getCh(String s) { 
    int max = 0; 
    char ch=' '; 

    for (int i = 0; i < s.length(); i++) { 
    char c = s.charAt(i); 
    
    int ntimes = s.length() - s.replaceAll(Character.toString(c), "").length(); 
    if (ntimes > max) { 
    max = ntimes; 
    ch = c; 
    } 
    } 
    
    return ch; 
} 

public static void main(String[] args){ 
System.out.println("The number is : "+getCh(s)); 
} 
}


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lz12366/archive/2009/10/05/4633275.aspx
分享到:
评论

相关推荐

    最多约数问题 代码设a 和b是2 个正整数,a≤b,找出a 和b之间约数个数最多的数x。

    具体来说,我们需要编写一个程序,其输入为两个正整数 \( a \) 和 \( b \),输出为在 \( a \) 和 \( b \) 之间约数个数最多的那个数的约数个数 \( div(x) \)。 ### 二、算法设计 #### 2.1 算法思路 解决这个问题...

    程序存储问题 对于给定的n个程序存放在磁带上的长度,编程计算磁带上最多可以存储的程序数。

    输入包含多组测试数据,每组数据的第一行给出两个正整数 \( n \) 和 \( L \),分别表示程序的数量和磁带的长度;接下来的一行包含 \( n \) 个正整数,表示每个程序在磁带上占用的长度。 例如: ``` 6 50 2 3 13 8 ...

    n个未知数但每个方程最多只有三个未知数方程的解法1

    其中,n 是未知数的个数,a、b、c 是系数矩阵。这种矩阵系统广泛应用于科学计算和工程计算中,例如一维泊松方程(Poisson equation)的离散化、自然立方样条插值(natural cubic spline interpolation)等。 Thomas...

    给定一个整数n,求出所有连续的且和为n正整数

    给定一个整数n,求出所有连续的且和为n正整数。比如对于整数27,结果为2~7、8~10、13和14,因为这些数之间的整数的和都是27。注意:并不是所有的整数都有结果,例如不存在连续的整数和为16。为了提高计算的效率,...

    统计数字问题,最多约数问题

    例如,在一个整数数组中,我们可能需要找出最大值、最小值,或者是出现次数最多的数字。这类问题通常通过遍历数组并进行适当的计算来解决,对于大规模数据,高效的数据结构和算法选择至关重要。 接着,我们来看...

    查找字符串中出现重复次数最多的字符

    这个问题可以通过多种方法解决,例如使用哈希表(HashMap在Java中)或者数组来统计每个字符出现的次数,然后找出出现次数最多的那个。接下来我们将详细探讨这两种方法。 1. **哈希表法**: - 初始化一个哈希表,键...

    最多约数问题.docx

    3. **动态规划或前缀和**:如果范围内的数有重复,可以使用动态规划或前缀和的方法记录每个数的约数信息,避免重复计算。 4. **使用筛法**:结合埃拉托斯特尼筛法,可以先筛选出范围内的质数,然后利用这些质数快速...

    Python:找到一个由非负整数组成的字符串,最多 n(含 n).pptx

    今天,我们将讨论如何使用 Python 找出一个由非负整数组成的字符串,最多 n(含 n)。 在这个问题中,我们需要编写一个 Python 程序,以创建一个字符串,该字符串由非负整数组成,最多为 n(含 n)。这可以使用 ...

    汇编语言 20个练习题目 代码加实验报告

    5.15 数据段中已定义了一个有N个字数据的数组M,试编写一程序求出M中绝对值最大的数,把它放在数据段的M+2n单元中,并将该数的偏移地址存放在M+2(n+1)单元中。 5.16 在首地址为DATA的字数组中,存放了100H个16位...

    对于给定的由n 个自然数组成的多重集S,编程计算S 的众数及其重数。

    - **找出众数及重数**:再次遍历数组 `a[]`,找到最大值对应的元素(即众数),以及这个最大值(即重数)。 #### 示例代码分析 ```c #include static int a[100000]; // 定义一个大小为100000的数组用于计数 int ...

    谁拿了最多奖学金

    现在给出若干学生的相关数据,请计算哪些同学获得的奖金总数最高(假设总 有同学能满足获得奖学金的条件)。 Input 输入的第一行是一个整数N(1 &lt;= N ),表示学生的总数。 • 接下来的N行每行是一位学生的数据,从...

    上海电机学院C语言实训答案

    输入一个正整数n (1&lt;n),再输入n 个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n 个数。 (25)抓住肇事者 一辆卡车违反交通规则,撞人后逃跑。现场共有三个目击者,但都没有记住车号...

    求众数问题

    给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。 例如,S={1,2,2,2,3,5}。 多重集S的众数是2,其重数为3。 编程任务: 对于给定的由n 个...

    JS实现求出一个字符串中最多出现的字符和个数

    在JavaScript中实现求出一个字符串中最多出现的字符及其个数的功能,主要涉及到以下几个知识点: 首先,我们需要理解如何操作字符串。在JavaScript中,字符串是不可变的数据类型,意味着我们不能直接修改字符串的...

    MapReduce编程之求Top3(TopN)

    在解决Top N问题时,我们通常会利用Count-Reduce的思想,即统计每个元素的数量,并在Reduce阶段找出出现次数最多的N个元素。 1. **Map阶段**: - 输入:多个包含正整数的文件,每行一个数。 - 输出:键值对(key-...

    分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]

    标题中的笔试题是一个经典的几何问题,探讨了在二维平面上,当有n条直线时,最多可以将平面分割成多少个部分。这个问题涉及到数学、计算机编程以及递归思想。 首先,我们来理解这个问题的基本概念。当一条直线穿过...

    Q763806.zip C语言——统计文件中出现最多的前5个字母

    在C语言编程中,统计文件中出现最多的前5个字母是一项常见的文本处理任务,它可以用于分析文本数据,比如单词频率统计、字符分析等。在这个问题中,我们需要读取一个文件,然后统计其中出现频率最高的五个字母。下面...

    众数问题 code

    :给定含有n 个元素的多重集合S,每个元素在S 中出现的次数称为该 元素的重数。多重集S 中重数最大的元素成为众数。例如,S={1,2,2,2,3,5}。多 重集S 的众数是2,其重数为3。 算法设计:对于给定的由n 个自然数组成...

    java递归实现N个数全排列输出

    当给定一个包含N个不同元素的集合时,全排列就是要列出所有可能的N!(N的阶乘)种排列方式。在这个场景中,我们将探讨如何使用Java语言,通过回溯法来递归实现全排列的输出。 首先,我们需要理解回溯法的基本概念。...

    C# 位运算 判断是否为2的N次幂

    这种方法的原理在于,对于任何2的N次幂,当我们减去1(即`num - 1`)后,将得到一个二进制表示中所有0变为1,所有1变为0的数,除了与原数相同的那个最高位1变为0。当我们将这两个数进行位与运算时,除了那个最高位的...

Global site tag (gtag.js) - Google Analytics