小编Tan*_*nay的帖子

命令'git diff --staged'和'git diff --cached'之间有什么区别

我刚开始学习git.我git diff --staged和命令之间有混淆git diff --cached.

git

3
推荐指数
1
解决办法
206
查看次数

同时复杂但运行时间变化很大

对于这个问题:给定偶数(大于2),返回两个素数,其总和将等于给定数.

以下算法分别具有时间复杂度O(A 2.5)和O(Alog(log(A)).对于A(整数)的值仍然大到73939138,第二个算法真的很慢.我尝试了很多输入而第一个更快.你能解释一下原因吗?

int ul=A/2;
vector <int> answer;
for (int i=1; i<=ul; i++)
{
    if (check(i)==1 && check(A-i)==1 ) //check(i) checks primality of i in O(i^1.5)
   {
       int myint[2] ={ i,A-i };
       answer.assign( myint, myint+2);
       return answer;
   }
}
Run Code Online (Sandbox Code Playgroud)
vector<bool> primes(A+1,true);
int i,j;
//Sieve of Eratosthenes O(Alog(log(A)))
for(i=2;i*i<A+1;i++)
{
    if(primes[i])
    {
        for(j=2;i*j<A+1;j++)
            primes[i*j]=0;
    }
}
vector<int> arr,answer;
//arr is vector containing all primes from 2 to A; O(A)
for(i=2;i<A+1;i++)
{
    if(primes[i])
        arr.push_back(i);
}
i=0;j=arr.size()-1;
//Algorithm to find 2 numbers …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm primes

3
推荐指数
1
解决办法
77
查看次数

git diff是否在索引和工作副本之间或在最后提交和工作副本之间进行比较?

在git 参考中,它指出

一个简单的git diff将以统一的diff格式(补丁)显示自上次提交以来您尚未在下一个提交快照中暂存的项目中更改的代码或内容。

我所做的是,提交了一个包含文本的文件A。然后,我将该文件中的文本从更改AB并暂存(未提交)。最后,我将文件的内容更改为C。现在,当我运行时,git diff它向我显示B和之间的区别C。但我想看到的区别AC。我该怎么做?

git

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

C++的STL中的erase()实际上是否删除了元素?

对于以下代码:

 list<int> P;
int i,n,x;
cin>>n>>x;
for(i=0;i<n;i++)
    P.push_back(i+1);
list<int>::iterator t2,t1=P.begin();
advance(t1,x-1);
t2=t1;
t1++;
P.erase(t1);
t2++;
cout<<*t2<<" ";
cout<<*(P.end())<<endl;
Run Code Online (Sandbox Code Playgroud)

当我给出的输入是:5 3,

输出量为5 4.

我实际上是从列表中删除元素4.但它将走到列表的末尾.我该如何避免这种情况?我想从列表中完全删除4,以便列表中的最后一个元素是5.

c++ stl

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

标签 统计

c++ ×2

git ×2

algorithm ×1

primes ×1

stl ×1