【问题标题】:How to get integers to an array (from integer i to integer j). c#如何获取整数到数组(从整数 i 到整数 j)。 C#
【发布时间】:2020-04-28 20:17:27
【问题描述】:

我想存储 int "i" 和 int "j" 范围内的整数(在数组或任何东西中)。

例如:-想想,“int i = 1”和“int j = 10”。我想存储 1 和 10 的整数。 这样 (1,2,3,4,5,6,7,8,9,10)

因为我想回答 HackerRank “电影中的美好时光”。 链接如下。

https://www.hackerrank.com/challenges/beautiful-days-at-the-movies/problem?isFullScreen=false

这是我的代码,它是垃圾。

static int beautifulDays(int i, int j, int k) {

var total = 0;

for(var a = i; a <= j; a++ )
{ 
  if (a != 0)
 {
    int ri = Reverse(i);
    int rj = Reverse(j);
    var ra = Reverse(a);

    if((ra/k) % 1 == 0)
    {
       total++;
    }

    if((rj/k) % 1 == 0)
    {
       total++;
    }   

    if((ri/k) % 1 == 0)
    {
        total++;
    }
} 
return total;

}
return total;

}
public static int Reverse(int inval)
{
    int result = 0;

    do
    {
        result = (result * 10) + (inval % 10);
        inval = inval / 10;

    }
    while(inval > 0);

    return result;
}

简单地说,你能给我 HackerRank“电影中的美好时光”的答案吗? 链接如下。

https://www.hackerrank.com/challenges/beautiful-days-at-the-movies/problem?isFullScreen=false

【问题讨论】:

  • 请将您的实际问题放在您的帖子中,并添加您编写的代码,并说明您遇到的问题。 StackOverflow 不是代码编写服务:人们不会从另一个网站读取一组需求,然后为您编写解决方案
  • 你的问题太模糊了,亲爱的。请提出更清晰的问题,以便鼓励人们回答。见:stackoverflow.com/help/how-to-ask

标签: c# arrays sorting integer store


【解决方案1】:

使用 Java,您可以轻松地使用 IntStream 流式传输一系列数字,然后为每个值映射反向函数,然后过滤满足条件并计数的那些。使用不需要存储的流,您可以直接获得答案。

IntUnaryOperator reverse = (opperand) -> {
        int reversed = 0;
        int num = opperand;
        while (num != 0) {
            int digit = num % 10;
            reversed = reversed * 10 + digit;
            num /= 10;
        }
        return Math.abs(opperand - reversed);
    };

    return (int) IntStream.rangeClosed(i, j).map(reverse)
            .filter(v -> v % k == 0).count();

【讨论】:

    猜你喜欢
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    相关资源
    最近更新 更多