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

这是一篇关于C#基础编程的练习题,主要目标是实现dropWhile函数,该函数用于从序列中删除满足特定条件的元素前缀。文章提供了编程目标、测试样例,并提到可以结合span或takeWhile函数实现。适合C#初学者进行技能提升。
摘要由CSDN通过智能技术生成

csharp基础练习题:该dropWhile功能【难度:1级】:

另一种主食功能的程序员.你有一个值序列和一些断言这些值.要删除元素的最长前缀,例如该谓语为每个元素如此.我们称这个dropWhile功能.它接受两个参数.第一个是值的序列,并且第二个是谓词函数.该功能不改变原始序列的值.

DEF ISEVEN(NUM):
  返回NUM%2 == 0

ARR = [2,4,6,8,1,2,5,4,3,2]

dropWhile(ARR,ISEVEN)== [1,2,5,4,3,2]# 真

函数ISEVEN(NUM){
  返回NUM%2 === 0;
}
VAR SEQ = [2,4,6,8,1,2,5,4,3,2];

dropWhile(SEQ,ISEVEN)//  - > [1,2,5,4,3,2]

dropWhile [2,4,6,8,1,2,5,4,3,2]甚至 -   - > [1,2,5,4,3,2]

自动ISEVEN = [](int) - > BOOL {返回ABS()%2 == 0; };

dropWhile({2,4,6,8,1,2,5,4,3,2},ISEVEN)//  - > {1,2,5,4,3,2}

FUNC  ISEVEN =()=>%2 == 0;

dropWhile(新INT [] {2,4,6,8,1,2,5,4,3,2},ISEVEN)//  - > {1,2,5,4,3,2}

你的任务是落实dropWhile功能.如果你有一个[跨度功能(http://www.codewars.com/kata/the-span-function)躺在附近,这是一个班轮!或者,如果你有你的手[takeWhile功能(http://www.codewars.com/kata/the-takewhile-function),然后与dropWhile功能相结合,您可以在一个行实现跨功能.这是函数式编程之美:有有用的功能,其中有许多可以相互的角度来实施一大堆.

编程目标:

using System;
public class Kata
{
    public static int[] DropWhile(int[] arr, Func pred)
    {
        return new int[] {  };
    }
}


测试样例:

namespace Solution
{
    using NUnit.Framework;
    using System;
    [TestFixture]
    public class SolutionTest
    {
        [Test]
        public void BasicTest1()
        {
            var expected = new int[] { 1, 5, 4, 3 };
            var actual = Kata.DropWhile(new int[] { 2, 6, 4, 10, 1, 5, 4, 3 }, isEven);
            Assert.AreEqual(string.Join(", ", expected), string.Join(", ", actual));


最佳答案(多种解法):

点击查看答案

更多关联题目:

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

免责申明

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值