标签: sequence

超过1个随机数序列c#,linq

我正在使用此代码生成随机数字序列:

var sequence = Enumerable.Range(0, 9).OrderBy(n => n * n * (new Random()).Next());
Run Code Online (Sandbox Code Playgroud)

一切都很好,直到我需要不止一个序列,在这段代码中我调用例程10次,结果是我的问题,所有序列都是相同的.

        int i = 0;
        while (i<10)
        {
            Console.Write("{0}:",i);
            var sequence = Enumerable.Range(0, 9).OrderBy(n => n * n * (new Random()).Next());
            sequence.ToList().ForEach(x=> Console.Write(x));
            i++;
            Console.WriteLine();
        }
Run Code Online (Sandbox Code Playgroud)

有人能给我一些实际生成不同序列的提示吗?希望使用LINQ

c# linq random sequence

0
推荐指数
1
解决办法
934
查看次数

如何将ID附加到F#中的序列?

我有一个seq<'A>.我想将它映射到a seq<(int, 'A)>,其中整数是从0开始的自动生成的值序列.我知道我可以用可变计数器和循环来做这个,但是有更优雅的方法来做到这一点,也许使用Seq.map

f# counter sequence

0
推荐指数
1
解决办法
86
查看次数

是否有内置的Python函数来生成从0到1的100个数字?

我期待这样的事情range,而是一个可以让我指定的开始和结束值,与我多少个号码需要,我想以类似的方式来使用集合沿range中使用for loops.

python math loops range sequence

0
推荐指数
1
解决办法
218
查看次数

如何减少时间复杂度,找到最长的锯齿形序列?

我试图在顶级编码器上解决问题zig zag序列.我的代码的时间复杂度是O(n*n).如何将其减少为O(n)或O(nlog(n))伪代码或算法的解释对我来说真的很有用这是问题陈述.问题陈述

如果连续数字之间的差异在正数和负数之间严格交替,则数字序列称为Z字形序列.第一个差异(如果存在)可以是正面的也可以是负面的.具有少于两个元素的序列通常是Z字形序列.

例如,1,7,4,9,2,5是Z字形序列,因为差异(6,-3,5,-7,3)交替为正和负.相比之下,1,4,7,2,5和1,7,4,5,5不是Z字形序列,第一个是因为它的前两个差异是正的,第二个是因为它的最后差异是零.

给定一系列整数序列,返回序列的最长子序列的长度,该序列是Z字形序列.通过从原始序列中删除一些元素(可能为零)来获得子序列,剩余的元素保持其原始顺序.

这是我的代码

#include <iostream>
#include<vector>
#include<cstring>
#include<cstdio>
using namespace std;

class ZigZag
{
  public:
  int dp[200][2];
  void print(int n)
  {
      for(int i=0;i<n;i++)
      {
          cout<<dp[i][0]<<endl;
      }
  }
  int longestZigZag(vector<int> a)
  {
      int n=a.size();
      //int dp[n][2];
      for(int i=0;i<n;i++)
      {
          cout<<a[i]<<" "<<"\t";
      }
      cout<<endl;
      memset(dp,sizeof(dp),0);
      dp[0][1]=dp[0][0]=1;
      for(int i=1;i<n;i++)
      {
            dp[i][1]=dp[i][0]=1;

            for(int j=0;j<i;j++)
            {
                if(a[i]<a[j])
                {
                   dp[i][0]=max(dp[j][1]+1,dp[i][0]);
                }
               if(a[j]<a[i])
               {
                    dp[i][1]=max(dp[j][0]+1,dp[i][1]);
               }
            }
            cout<<dp[i][1]<<"\t"<<dp[i][0]<<" "<<i<<endl;
            //print(n);
      }
      cout<<dp[n-1][0]<<endl;
      return max(dp[n-1][0],dp[n-1][1]);
  }
};
Run Code Online (Sandbox Code Playgroud)

c++ algorithm dynamic-programming sequence

0
推荐指数
1
解决办法
1551
查看次数

Haskell IO反向字符串输入

我一直收到错误:无法将预期类型'Bool'与实际类型'[t0]'匹配.我正在尝试获取字符串的用户输入,然后以反向ORDER输出许多字符串.

输入示例:

HI1
HI2
Run Code Online (Sandbox Code Playgroud)

示例输出:

HI2
HI1
Run Code Online (Sandbox Code Playgroud)

我的代码:

    Back :: Int -> IO()
    Back x = do line <- sequence_[getLine|[1..x]]
                     mapM_ print (reverse line)
Run Code Online (Sandbox Code Playgroud)

io haskell map sequence

0
推荐指数
1
解决办法
837
查看次数

如果R中有0,如何填写"后续"数字?

我有一串数字:

n1 = c(1, 1, 0, 6, 0, 0, 10, 10, 11, 12, 0, 0, 19, 23, 0, 0)
Run Code Online (Sandbox Code Playgroud)

我需要将0与相应的数字替换为"后面"以获得,同时将0留在尾部(因为它们背后没有任何东西):

n2 = c(1, 1, 6, 6, 10, 10, 10, 10, 11, 12, 19, 19, 19, 23, 0, 0)
Run Code Online (Sandbox Code Playgroud)

我如何从n1到n2?

这似乎比我之前提到的问题要难得多:

如果R中有0,如何填写前面的数字?

flodel提出了一个优雅的解决方案:

n2 <- n1[cummax(seq_along(n1) * (n1 != 0))]
Run Code Online (Sandbox Code Playgroud)

但是,这个解决方案在这里不起作用; 我已经尝试但未能调整代码.

别人能想出一个优雅的解决方案吗?

提前致谢!

replace numbers r sequence

0
推荐指数
1
解决办法
109
查看次数

Haskell:如何打开Seq中的值?

我想把一个元素放在列表中间,所以我做了:

update myPosition myValue $ fromList myList
Run Code Online (Sandbox Code Playgroud)

现在,我有一种类型,Seq a但我需要整个a([a])列表.如何从此行中提取值以返回整个列表myValue

Seq是来自Data.Sequence.

monads haskell sequence

0
推荐指数
1
解决办法
108
查看次数

获得1到n的第k个排列

我从网站上检查过,这称为单峰置换,它定义为只有一个局部最大值的序列.例如n = 5:

12345
12354
12453
12543
13452
13542
14532
15432
23451
23541
24531
25431
34521
35421
45321
54321
Run Code Online (Sandbox Code Playgroud)

是否有算法来获得第k个单峰排列?

algorithm permutation sequence

0
推荐指数
1
解决办法
418
查看次数

在C++ 11中,未排序的修改警告将成为未使用结果的警告

我正在尝试使用过滤器库,并从以下代码段获取未经测试的修改警告.

while (--numSamples >= 0)
    *dest++ = state.process(*dest, *this);
Run Code Online (Sandbox Code Playgroud)

这样就可以在SO上查看类似的问题,因为dest正在修改并在同一命令中访问.所以,我想预期的功能如下...

while (--numSamples >= 0) {
    *dest = state.process(*dest, *this);
    *dest++;
}
Run Code Online (Sandbox Code Playgroud)

但是,这为后增量提供了一个新的,更好奇的警告"警告:表达结果未使用".为什么这个新警告,我应该如何正确解决这个问题?

c++ sequence c++11

0
推荐指数
1
解决办法
67
查看次数

Clojure - 对象序列

我有一个Clojure功能:

(def obseq
  (fn []
    (let [a 0
          b 1
          c 2]
      (println (seq '(a b c))))))
Run Code Online (Sandbox Code Playgroud)

它输出:

(a b c)
Run Code Online (Sandbox Code Playgroud)

我希望它输出一个包含a,b和c值的序列,而不是它们的名字.

期望的输出:

(1 2 3)
Run Code Online (Sandbox Code Playgroud)

我该如何实现?

variables clojure type-conversion sequence

0
推荐指数
1
解决办法
57
查看次数