个人技术分享

1652. 拆炸弹


题目链接:1652. 拆炸弹

代码如下:

class Solution 
{
public:
    vector<int> decrypt(vector<int>& code, int k) 
    {
        vector<int> res(code.size(),0);
        if(k==0)    return res;   
        int n=code.size();
        if(k>0)
        {
            for(int i=0;i<code.size();i++)
            {
                int tmpk=k;
                while(tmpk>0)
                {
                    res[i]+=code[(i+tmpk)%n];
                    tmpk--;
                }
            }
        }
        else if(k<0)
        {
            for(int i=0;i<code.size();i++)
            {
                int tmpk=k;
                while(tmpk<0)
                {
                    int pos=i+tmpk+n;
                    if(pos>=n)  pos%=n;
                    res[i]+=code[pos];
                    tmpk++;
                }  
            }
        }
        return res;
    }
};