数组编码和解码问题的求解设计与实现
来源:互联网 发布:华为网络培训资料 编辑:程序博客网 时间:2024/05/29 14:05
题目描述:
Java代码:
- package ttwork.lang;
- import java.util.Arrays;
- public class TestFunnyArray {
- /*
- * 测试方法
- */
- public static void main(String[] args) {
- int[] a = {4,3,0,5,1,2};
- int[] b = {0,0,0,3,1,2};
- FunnyArray fa = new FunnyArray(a, FunnyArray1.SRCCODE);
- FunnyArray fb = new FunnyArray(b, FunnyArray1.DECODE);
- int[] c = fa.getDecodeBySrccode();
- System.out.println(Arrays.toString(c));
- int[] d = fb.getSrccodeByDecode();
- System.out.println(Arrays.toString(d));
- }
- }
- class FunnyArray {
- private int[] srccode; //源码
- private int[] decode; //解码
- static final int SRCCODE = 8893939;
- static final int DECODE = 19494204;
- /*
- * 构造方法
- * @param1 :整型数组
- * @param2: 第二个参数用来表示已知的内容,源码还是解码
- */
- public FunnyArray(int[] code, int type) {
- if(type == SRCCODE) {
- srccode = code;
- decode = new int[srccode.length];
- }
- if(type == DECODE) {
- decode = code;
- srccode = new int[decode.length];
- }
- }
- /*
- * 求源码的方法
- * 对于解码,从后往前开始代表下标值,每加入一个就把这个值变成最大值排序,直到结束
- */
- public int[] getSrccodeByDecode() {
- int[] tempcode = new int[decode.length];
- for(int i=0; i<tempcode.length; i++) {
- tempcode[i] = i;
- }
- for(int i=decode.length-1; i>=0; i--) {
- srccode[i] = tempcode[decode[i]];
- tempcode[decode[i]] = Integer.MAX_VALUE;
- Arrays.sort(tempcode);
- }
- return srccode;
- }
- /*
- * 求解码的方法
- * 通过从开始查找到当前位置统计结果并赋值
- */
- public int[] getDecodeBySrccode() {
- int count;
- for(int i=0; i<srccode.length; i++) {
- count = 0;
- for(int j=0; j<i; j++) {
- if(srccode[i] > srccode[j]) {
- count ++;
- }
- }
- decode[i] = count;
- }
- return decode;
- }
- }
- 数组编码和解码问题的求解设计与实现
- js解码与编码和服务器端的解码与编码
- Base64编码解码和URLEnocde编码解码的C实现
- 字符串到字节数组和字节数组到字符串的转换(编码和解码问题)
- 约瑟夫问题求解算法的设计与实现
- 编码和解码问题
- 编码与解码问题的总结
- javascript与C#的编码解码问题
- Base64编码与解码的java实现
- Huffman编码与解码的实现
- C#实现Base64的编码与解码
- 哈夫曼编码与解码的JavaScript实现
- JavaScript实现的Base64编码和解码
- JavaScript实现的Base64编码和解码
- JavaScript实现的Base64编码和解码
- JavaScript实现的Base64编码和解码
- 自定义Base64编码和解码的实现
- URLDeconder和URLEncoder的编码与解码
- 呵呵!今天很开心的!
- ResultSet参数设置
- 新人
- 闲了,再写写排序算法,一个最麻烦的归并排序。
- rgsh
- 数组编码和解码问题的求解设计与实现
- 第一篇日记
- HTML中的块元素(block)、内联元素(inline)的差别
- 解决asp.net web控件不能拖动的问题
- spring学习之初
- 起跑
- 机会是留给有准备的人的
- 任务
- 初次来到