`
crackajack_zg
  • 浏览: 53987 次
社区版块
存档分类
最新评论

java 字符串的完美度

 
阅读更多
package com.mytest;

import java.io.IOException;
import java.lang.reflect.Array;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import net.sourceforge.sizeof.SizeOf;

public class Test { 
	
	  public static int perfect(String s) {




	        HashMap<Character,Integer> map = new HashMap<Character,Integer>();

	            for(int i=0;i<s.length();i++){
	                char c = s.charAt(i);
	                map.put(c,map.get(c)==null?1:map.get(c)+1);
	            }        
	            char[]  array_char = new  char[map.size()];
	            int[]  array_count = new  int[map.size()];
	            Set<Character> a = map.keySet();
	            Iterator<Character> it  = a.iterator();
	            int index = 0;
	            while(it.hasNext()) {
	                char ch = it.next();
	                array_char[index]  = ch;
	                array_count[index] = map.get(ch);

	                index++;
	            }
	            
	            //从高到底进行设置完美度
	            int maxValue = 26;
	            //将最大的放到最后
	            
	            int result = 0;
	            for(int i=0;i<array_count.length;i++) {
	                
	                for(int j=0;j<array_count.length-i;j++){
	                    int temp = array_count[i];

	                    if(temp>array_count[j]){
	                        
	                        array_count[i] = array_count[j];
	                        array_count[j] = temp;
	                    }
	                }
	                result += array_count[array_count.length-1]*maxValue;
	                
	                maxValue--;
	            }
	        return result ;
	    }

	    
	    //start 提示:自动阅卷起始唯一标识,请勿删除或增加。 
	    public static void main(String args[]) 
	    { 

	        String str = "df";
	        
	        int res = perfect(str);
	        
	        System.out.println(res);
	    } 
	    //end //提示:自动阅卷结束唯一标识,请勿删除或增加。
}
分享到:
评论

相关推荐

    java源码包---java 源码 大量 实例

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    Java范例大全 源码

    首先,全书以Java开发环境搭建开篇,循序渐进地介绍了Java语法的方方面面,不仅包括变量、语句、字符串、数组、类、集合、面向对象等必备的基础语法,而且还涵盖异常处理与反射机制、I/O文件操作、线程、数据库操作...

    java源码包3

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    java源码包2

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节 通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后...

    java源码包4

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节 通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后...

    JAVA上百实例源码以及开源项目源代码

    设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节 通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后...

    第章Java概述stu2022优秀文档.ppt

    例如,一个简单的Java Application程序如“Hello World”示例,通过`public static void main(String[] args)`方法作为程序入口,输出指定的字符串。 总的来说,Java是一种强大且灵活的编程语言,广泛应用于各种...

    JAVA记事本

    3. 查找替换:对文本进行查找和替换,涉及字符串操作和正则表达式。 4. 撤销重做:通过维护一个操作历史栈,实现对用户操作的撤销与重做功能。 5. 行号显示:在文本左侧显示行号,方便用户定位。 6. 多种编码支持:...

    java交换排序之奇偶排序实现方法

    Batcher奇偶归并排序是奇偶排序的一个变种,它采用比较-交换和完美洗牌操作,在拥有广泛互连的并行计算处理器上效率较高。Batcher排序算法通常应用于需要高度并行处理的场景,并且它具有一个固定的比较和交换网络,...

    Java初学经典编程题

    - **字符串拼接**:使用字符串方法构建每个项。 #### 题目九:完美数 - **题目描述**:找出1000以内的所有完美数,即一个数恰好等于它的因子之和。 - **知识点**: - **循环结构**:遍历1到1000的所有数。 - **...

    编程面试中排名前 10 的算法相关的概念

    #### 一、字符串处理技巧 在编程面试中,字符串处理是一个非常常见的考点。了解并熟练掌握基本的字符串操作可以帮助你更高效地解决问题。以下是一些重要的字符串操作方法: 1. **`toCharArray()`**:将字符串转换...

    C&amp;C++&amp;JAVA面试题.pdf

    * 考查对基本功的掌握:字符串以’\0’结尾、对数组越界的把握的敏感度、库函数 strcpy 的工作方式。 * 编写一个标准 strcpy 函数的总分值为 10,分为 2 分、4 分、7 分、10 分四个不同版本,分别考查对基本功的掌握...

    自定义车牌号键盘_Android(Java)

    - 其他辅助类和资源文件,如图片、字符串资源等,用于完善键盘功能和样式。 通过这个项目,开发者可以学习到如何在Android中实现一个自定义键盘,并根据实际需求调整代码以适应不同的输入场景。尽管可能存在不完美...

    Kotlin Kotlin 是一种现代化的编程语言,由 JetBrains 开发,与 Java 完全兼容,并且可以在 Java

    // 在 Kotlin 中声明并初始化一个字符串 val message: String = "Hello, Kotlin!" ``` ##### 2. **空安全性** Kotlin 强制执行空安全性规则,这有助于开发者避免空指针异常(NullPointerException)。在 Kotlin 中...

    textview完美展示html格式代码.rar

    为了展示HTML内容,我们可以借助`android.text.Html`类或者第三方库如`jsoup`或`SpannedFromHtml`来解析HTML字符串,并将其转化为可渲染的文本样式。 1. `android.text.Html.fromHtml()`: 这是Android提供的原生...

    xStream 开发指南

    3. **序列化**:使用 xStream.toXML() 方法将 Java 对象转换为 XML 字符串,或使用 toJSON() 转换为 JSON。 4. **反序列化**:利用 xStream.fromXML() 或 fromJSON() 方法,将 XML 或 JSON 字符串恢复为 Java 对象。...

Global site tag (gtag.js) - Google Analytics