| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1256 人关注过本帖
标题:这道JAVA编码题怎么做?
只看楼主 加入收藏
bihao123
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-5-31
结帖率:100%
收藏
 问题点数:0 回复次数:6 
这道JAVA编码题怎么做?

2、编程解决编码问题:设有一个数组A[N],数组中存放的元素为0—N-1之间的整数,且各不相同,。例如:N=6时,A=(4,3,0,5,1,2),编码定义如下:
A[0]的编码为0;
A[i]的编码为:在 A[0],A[1],…A[i-1]中比A[i]的值小的个数(i =1,2,…… N-1)
因此得到A的编码为:B=(0,0,0,3,1,2)
要求程序实现:
(1) 译码:给出数组A后,求出其编码;
(2) 破译:给出数组A的编码后,求出A中的原数据。

搜索更多相关主题的帖子: JAVA 编码 译码 数据 
2007-07-13 14:52
liguoshi1984
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2007-7-4
收藏
得分:0 
我大概知道怎么做:
(1)这个小题简单,只是数组元素的比较.
(2)解码的算法是这样的:
1 定义一个数组B,元素全部设为 n,表示还没解码
2
外循环i:0->n-1
定义m=i

内循环j:n-1开始递减
内循环体:
从数组编码A的最右边开始扫描
在j位置递减过程中,如果在碰到B中已赋值(不等于n)的数据前就已经在A中j位置找的等于m的数据,则将i赋给B的j位置.
  如果找不到,那么每碰到一个已赋值(不等于n)的数据,m就减1,再继续向前扫描,值到碰到在B中没有赋值,而在A中又跟m匹配的位置,将i赋给B的这个位置.
  呵呵,好像有点拗口.经过纸上运算应该是正确的.有时间我再编出来.


[此贴子已经被作者于2007-7-14 23:16:16编辑过]

2007-07-14 23:12
HelloFuck
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2007-7-12
收藏
得分:0 
?

顶你个肺
2007-07-15 10:12
liguoshi1984
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2007-7-4
收藏
得分:0 
回复:(bihao123)这道JAVA编码题怎么做?

要有一个记录原码的数组 originCode
一个记录编码的数组 finalCode
一个方法用来编码  public int[] coding(int[] a)
一个方法用来解码 public int[] encoding(int[] a)
编出来比我想象的还简单,帅呆了
如果没人看的话我下次就不传上来了,浪费我劳动力 TT

原程序

o3vvm1CU.rar (1.18 KB) 这道JAVA编码题怎么做?


[此贴子已经被作者于2007-7-17 18:46:01编辑过]

2007-07-17 18:44
qsrock
Rank: 1
等 级:新手上路
帖 子:255
专家分:0
注 册:2005-12-29
收藏
得分:0 
呵呵!~写得还可以!~
2007-07-22 09:57
Dam3000
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-6-5
收藏
得分:0 

谢谢赐教!

FORTRAN他爹说:要有高级语言 就有了烂熟的 Hello World!
2007-07-23 00:10
fqj793
Rank: 1
等 级:新手上路
威 望:2
帖 子:228
专家分:0
注 册:2006-12-9
收藏
得分:0 
可以学习学习|!

知识改变命运!!!
2007-07-23 09:02
快速回复:这道JAVA编码题怎么做?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024681 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved