标签: sequence

如何在不使用数组的情况下找到缺失的数字?

我必须在数字序列中找到丢失的数字。输入由 0 到 35000 之间的正整数 n 和 n 个范围为 [0..n] 的唯一数字组成。(所以这个范围包含n+1个数字)。

sum={n*(n+1)}/2我已经用and then尝试过一些事情misNum=sum-SumOfNum;,但我找不到一种方法来完成这项工作。

我写了一些代码,但不是我之前提到的例子。显然,这段代码并不完整,但我不知道如何使其完整。

#include <stdio.h>
#include <stdlib.h>

int main (int argc, char *v[])  {
    int length;
    int num; 

    scanf("%d", &length);
    /*scanf(???)*/

    int goal=length;
    int i;

    for(i=0; i!=length; i++){
        goal=goal+i-num[i];
    };
   return goal;
}
Run Code Online (Sandbox Code Playgroud)

输入和结果应该是:

输入:2“输入”0 2。输出:1

输入:3“输入”0 3 1。输出:2

c arrays numbers sequence

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

如何使用 C# 从字符串中删除序列中重复\相同的字符?

我有一个字符串:

string  input = "aaaabbcccghbcccciippppkkllk"
Run Code Online (Sandbox Code Playgroud)

输出应该是:

abcghbcipklk
Run Code Online (Sandbox Code Playgroud)

注意:必须使用循环或递归。ETC。

只是想知道是否有比这更好、更高效的代码:

    string input = "aaaabbcccghbcccciippppkkllk";
    int j=0;

    for (int i=0; i<input.Length - 1; i++) {

        for(j=i+1; j<input.Length && input[i] == input[j]; j++);

        input = input.Substring(0, i+1) + input.Substring(j); 
    }
    Console.WriteLine(input);
Run Code Online (Sandbox Code Playgroud)

c# string sequence

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

从左到右遍历数组并收集尽可能多的数字

CSES 问题(https://cses.fi/problemset/task/2216/)。

\n

给你一个数组,其中包含 1\xe2\x80\xa6n 之间的每个数字恰好一次。你的任务是按升序收集从 1 到 n 的数字。\n在每一轮中,你从左到右遍历数组并收集尽可能多的数字。总轮数是多少?\n约束:1\xe2\x89\xa4n\xe2\x89\xa42\xe2\x8b\x8510^5

\n

这是我在 C++ 上的代码:

\n
int n, res=0;\ncin>>n;\nint arr[n];\nset <int, greater <int>> lastEl;\nfor(int i=0; i<n; i++) {\n    cin>>arr[i];\n    auto it=lastEl.lower_bound(arr[i]);\n    if(it==lastEl.end()) res++;\n    else lastEl.erase(*it);\n    lastEl.insert(arr[i]);\n}\ncout<<res;\n
Run Code Online (Sandbox Code Playgroud)\n

我遍历数组一次。如果元素 arr[i] 小于所有先前的元素,那么我“打开”一个新序列,并将该元素保存为该序列中的最后一个元素。我将已打开序列的最后一个元素存储在集合中。如果 arr[i] 小于前面的一些元素,则我采用具有最大最后一个元素(但小于 arr[i])的现有序列,并用 arr[i] 替换该序列的最后一个元素。\遗憾的是,它仅适用于给定的三个测试中的两个测试,而对于第三个测试,输出比应有的要少得多。我究竟做错了什么?

\n

c++ sorting algorithm sequence

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

如何使用itertools生成无限序列

我想生成两个不定式系列 0 和 1,具体按以下顺序:

0, 1, 0, -1, 0, 1, 0, -1, ...

我创建了以下代码,它不返回除以下内容之外的内容:

# for in loop
for i in itertools.cycle(range(0,2)):
    if i == 0:
        i += 1
        if i == 1:
            i -= 1
            if i == 0:
                i -= 1
                print(i, end = " ")
Run Code Online (Sandbox Code Playgroud)

它只是返回一系列-1。无法弄清楚错误在哪里。任何人都可以提出任何建议

python sequence python-itertools

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

在 Python 中生成序列 0, 0, 1, 1, 0, 0, 1, 1, ...

使用% 2给了我交替序列[0, 1, 0, 1, ...]

seq = []
for i in range(10):
    e = i % 2
    seq.append(e)
Run Code Online (Sandbox Code Playgroud)

有没有办法通过从循环内部[0, 0, 1, 1, 0, 0, 1, 1,...]生成元素来生成序列?

seq = []
for i in range(10):
    e = the_solution(i)
    seq.append(e)
Run Code Online (Sandbox Code Playgroud)

python loops sequence modulo

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

重复每个值不同的次数。Excel

有2列数据:

\n
a 2\nb 3\nc 1\n
Run Code Online (Sandbox Code Playgroud)\n

结果:

\n
X01a\nX02a\nX01b\nX02b\nX03b\nX01c\n
Run Code Online (Sandbox Code Playgroud)\n

在 Google Sheets 中我使用以下公式:

\n
=tocol(map(A2:A;B2:B;lambda(a;b;if(counta({a\\b})<>2;;index("X"&text(sequence(1;b);"00")&a&"|"&b))));1)\n
Run Code Online (Sandbox Code Playgroud)\n

在 Excel 中,此公式给出错误:#CALC!错误(嵌套数组)

\n

如何在 Excel 中执行此操作?

\n

在 Google 表格中重复每个值不同次数中找到答案

\n

我不明白如何根据我的目的调整这个公式。

\n
=LET(Data,A2:A5,Repeats,B2:B5,\n    Both,HSTACK(Data,Repeats),Filtered,FILTER(Both,Repeats>0),\n    dData,TAKE(Filtered,,1),dStacked,VSTACK(dData,""),\n    rData,TAKE(Filtered,,-1),rSequence,SEQUENCE(SUM(rData)),\n    rStacked,VSTACK(0,rData),rScanned,SCAN(1,rStacked,LAMBDA(a,b,a+b)),\n    rIndexes,MATCH(rSequence,rScanned),\nResult,INDEX(dStacked,rIndexes),Result)\n
Run Code Online (Sandbox Code Playgroud)\n

该公式将返回超过 250k 个结果。我希望它没有挂断。:)

\n

使用额外的列找到答案。是否有非 VBA Excel 溢出公式来创建和处理数组数组?

\n

如何在没有额外列的情况下获得结果?\n所有建议的方法都返回:

\n
a\na\nb\nb\nb\nc\n
Run Code Online (Sandbox Code Playgroud)\n

我需要一个带有连续数字的结果。

\n
1a\n2a\n1b\n2b\n3b\n1c\n
Run Code Online (Sandbox Code Playgroud)\n

excel sequence excel-formula powerquery

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

为什么我的 `zipAll` 会出现 OutOfMemoryError 错误以及如何修复它?

我正在尝试编写一个好的zipAll函数——不像 Scala 的函数,而是像 C++ 的函数zip_view:只是 Kotlin 的 zip,其中并行迭代任意数量的序列,长度等于最短。

我想出了:

fun <T> zipAll(vararg seq: Sequence<T>): Sequence<List<T>> {
    return sequence { 
        while (seq.all { it.iterator().hasNext() }) 
            yield(seq.map { it.take(1).first() }) 
    }
}

fun main() {
    val s = sequenceOf(1,2,3)
    val s2 = sequenceOf(3,4,5,6)    
    println(zipAll(s, s2).toList())
}
Run Code Online (Sandbox Code Playgroud)

Kotlin Playground 给出了(编辑:使用我本地 IntelliJ Idea 中更完整的堆栈跟踪)

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at java.base/java.util.Arrays.copyOf(Arrays.java:3512)
    at java.base/java.util.Arrays.copyOf(Arrays.java:3481)
    at java.base/java.util.ArrayList.grow(ArrayList.java:237)
    at java.base/java.util.ArrayList.grow(ArrayList.java:244)
    at java.base/java.util.ArrayList.add(ArrayList.java:454)
    at java.base/java.util.ArrayList.add(ArrayList.java:467)
    at kotlin.sequences.SequencesKt___SequencesKt.toList(_Sequences.kt:816)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

sequence kotlin

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

如何在Java中输出序列'1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 ...'?

我现在开始用Java编程.我试图将标题中的序列编码为Java中的输出,但我被卡住了!我正在尝试for功能,欢迎任何帮助;)

java for-loop sequence

-1
推荐指数
2
解决办法
2955
查看次数

带条件的数字序列

我有一个很大的data.frame,我想生成一个新的列(称为Seq),它有一个顺序值,每次不同的列发生更改时重新启动.下面是data.frame(带有省略的列)和名为Seq的新列的示例.正如您所看到的那样,有一个sequentiel计数,但每次有新的IDPath时,sequentiel计数都会重新开始.sequentiel长度可以有不同的长度,有些是1长,而其他是300.

IDPath    LogTime               Seq
AADS      19-06-2015 01:57      1
AADS      19-06-2015 01:55      2
AADS      19-06-2015 01:54      3
AADS      19-06-2015 01:53      4
DHSD      19-06-2015 12:57      1
DHSD      19-06-2015 10:58      2
DHSD      19-06-2015 09:08      3
DHSD      19-06-2015 08:41      4
Run Code Online (Sandbox Code Playgroud)

sequences r sequence dataframe dplyr

-1
推荐指数
1
解决办法
970
查看次数

Clojure中序列中元素的排名

我对像这样的元素有一个序列 ([:Jon 326] [:Mary 233] [:Matthew 255])

并希望以一种巧妙的方式将此序列转换为类似 {{:name Jon :rank 1} {:name Matthew :rank 2} {:name Mary :rank 3}}

:name应该是字符串类型,而:rank应该是整数

排名是由数字计算得出的,与序列中元素中的其他元素相比,“点”越高,排名越高

clojure sequence seq

-1
推荐指数
1
解决办法
60
查看次数