1)问题描述 2)基本思路 3)代码实现 import java . util . Scanner ; public class example { /** * * @param n 图像灰度数组的大小 * @param p 图像灰度数组 * @param s s[i]表示从0到i压缩为一共占多少存储空间 * @param l l代表length * @param b b代表bits */ 1 public void Compress ( int n , int [ ] p , int [ ] s , int [ ] l , int [ ] b ) { int Lmax = 256 ; int header = 11 ; s [ 0 ] = 0 ; for ( int i = 1 ; i <= n ; i ++ ) { b [ i ] = length ( p [ i ] ) ; // 计算像素点p需要的存储位数 int bmax = b [ i ] ; s [ i ] = s [ i - 1 ] + bmax ; l [ i ] = 1 ; for ( int j = 2 ; j <= i && j <= Lmax ; j ++ ) { if ( bmax < b [ i - j + 1 ] ) { bmax = b [ i - j + 1 ] ; } if ( s [ i ]