文章
7
粉丝
0
获赞
0
访问
837
1.由于相同元素都连续出现两次,如果我们引入一个-1的n次方,那么元素与-1的n次方相乘后相加后的他们会抵消掉,则最后的值即为特定元素
2.import std;//C++23
using namspace std;
const int N=1e6;
int main(){
long long int A[N];
long long sum=0;
//import the number
for(auto i;i<N;i++)sum+=A[i]*[1,-1][i%2];//如果取模为0,那么乘1,取模为1,乘-1
cout<<sum;
}
3.时间复杂度为O(n)
评分及理由
(1)得分及理由(满分3分)
得分:0分
理由:设计思想错误。题目要求找出仅出现一次的元素,而学生提出的方法是通过乘以-1的n次方后相加,这种方法在数学上可以抵消成对出现的元素,但题目要求的是在数组中找出唯一元素,而不是计算总和。因此,设计思想不符合题目要求。
(2)得分及理由(满分8分)
得分:0分
理由:代码实现错误。学生的代码存在多处问题:
(3)得分及理由(满分2分)
得分:0分
理由:虽然学生提到时间复杂度为O(n),但由于算法设计错误,时间复杂度分析无意义。
题目总分:0+0+0=0分
登录后发布评论
暂无评论,来抢沙发