相关疑难解决方法(0)

连续整数运行

我在列表中有一些数据需要查找连续的整数运行(我的脑子想rle但不知道如何在这里使用它).

查看数据集并解释我所追求的内容会更容易.

这是数据视图:

$greg
 [1]  7  8  9 10 11 20 21 22 23 24 30 31 32 33 49

$researcher
[1] 42 43 44 45 46 47 48

$sally
 [1] 25 26 27 28 29 37 38 39 40 41

$sam
 [1]  1  2  3  4  5  6 16 17 18 19 34 35 36

$teacher
[1] 12 13 14 15
Run Code Online (Sandbox Code Playgroud)

期望的输出:

$greg
 [1]  7:11, 20:24, 30:33, 49

$researcher
 [1] 42:48

$sally
 [1] 25:29, 37:41

$sam
 [1] …
Run Code Online (Sandbox Code Playgroud)

design-patterns r range

20
推荐指数
5
解决办法
1172
查看次数

将数字向量作为字符串汇总的功能?

假设我有以下数字向量:

vec = c(1, 2, 3, 5, 7, 8, 9, 10, 11, 12)
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个函数,它将创建一个字符串,以人类的方式总结数字列表,即

"1-3, 5, 7-12"
Run Code Online (Sandbox Code Playgroud)

我怎么能在R中这样做?

r

20
推荐指数
3
解决办法
842
查看次数

单独的数字范围,如果按顺序,然后是连字符,如果顺序中断,则发生逗号字符

我有一个表示页面的字符串1,2,3,4,8,9,10,15.

我想要将其显示为,1-4,8-10,15 即序列中的数字由连字符分隔,连字符由最小和最大数字依次包围.

如果按顺序中断,则范围用逗号分隔.

string pageNos = "5,6,7,9,10,11,12,15,16";
string result=string.Empty;
string[] arr1 = pageNos.Split(',');
int[] arr = new int[arr1.Length];

for (int x = 0; x < arr1.Length; x++) // Convert string array to integer array
{
    arr[x] = Convert.ToInt32(arr1[x].ToString());
}

for (int i = 0; i < arr.Length;i++)
{
    for (int j = i + 1; ; j++)
        if (arr[i] == (arr[j] - 1))
            result += arr[i].ToString() + "-" + arr[j].ToString();
        else
            result += arr[i].ToString() + ","; …
Run Code Online (Sandbox Code Playgroud)

c# algorithm

10
推荐指数
2
解决办法
3523
查看次数

标签 统计

r ×2

algorithm ×1

c# ×1

design-patterns ×1

range ×1