美文网首页
思考问题

思考问题

作者: smile_lucky爱上阳光 | 来源:发表于2018-04-07 22:04 被阅读0次

    问题:怎样确定一个0和1变量中的连续变量,并把连续的非0变量个数累加?

    比如:index1= 0 1 1 0 0 0 1 0

    最后得到的是:index2=0 2 0 0 1

    思路:尝试了从是1的位置入手和从0的位置入手两种方法,均被自己绕进去了,最后倒序来叠加,解决了。

    方案:拆分问题——step1:  0 1 1 0 0 0 1 0 变为  0 2 0 0 0 0 1 0

                                        step2: 0 2 0 0 0 0 1 0变为 0 2 0 0 1 0

    code: index=c(0,1,1,0,0,0,1,0)

               rm=which(index==1)

               for( j in (length(index)-1):1){

                   if(index[j]==1){

                       index[j]=index[j]+index[j+1]

                        index[j+1]=0

                    }

                }

    相关文章

      网友评论

          本文标题:思考问题

          本文链接:https://www.haomeiwen.com/subject/dvzshftx.html