csharp基础练习题:位面返回【难度:1级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练

csharp基础练习题:位面返回【难度:1级】:

甲灰度数字图像作为

 0 

(黑色)和

 255 

(白色)之间的值的矩阵供给,各为8位值的十进制表示.例如:一个中灰被表示为

 127 

十进制和

 01111111 

二进制;随后的值

 128 

,是

千万

二进制;一个4象素的数字图像的一个例子是:

 [[0,63],[127,255]]的十进制

,或

 [[00000000,00111111],[01111111,11111111]] $ $$二进制文件.


[从8位图像导出的位平面的实施例](https://en.wikipedia.org/wiki/Bit_plane#/media/File:Lichtenstein_bitplanes.png)


位平面是一组对应于每个图像矩阵的二进制值的给定的比特位置的比特.对于4象素示例(

[[0,63],[127,255]]

)以上,位平面3是对应于比特值值中的索引5的每个值的矩阵输入矩阵== 

[[0,1],[1,1]]

.二进制值索引被映射到的位平面如下:

平面0 =>至少显著位/右端位==`[7]`;

平面1 =>`[6]`... 6 =>`[1]`...;

平面7 =>最显著位/最左边的位`== [0]`


此习题的目的是提供用于所提供的图像矩阵(`image`)返回指定的位平面(`plane`).对于此习题则不会提供一个空的矩阵(总是会有至少一个像素),并且每个数组矩阵内的值总是在0到255之间的整数.在`plane`指​​定的值将在0和7(含)之间.
 


## 编程目标:

```csharp
using System;
public static class Kata
{
  public static byte[][] BitSlice(byte[][] image, int plane)
  {
    throw new NotImplemenetedException();
  }
}


测试样例:

namespace Solution 
{
  using NUnit.Framework;
  using System;
  [TestFixture]
  public class SolutionTest
  {
    [Test]
      Assert.That(Kata.BitSlice(new byte[][] 
                                {
                                   new byte[] {68, 69, 75, 100},
                                   new byte[] {71, 82, 106, 117},
                                   new byte[] {119, 117, 126, 132},
                                   new byte[] {116, 127, 146, 111}
                                }, 3),


最佳答案(多种解法):

点击查看答案

更多关联题目:

csharp基础练习题:PatternCraft - 观众【难度:1级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练

免责申明

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars.com/
https://www.codewars.com/kata/bit-plane-return

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值