0
已解决
陈曦
资深天翼
资深天翼
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int a[10005],n,d,k,min=99999,max=-1;
cin>>n>>d;
for(int i=1;i<=n;i++){
cin>>a[i];
if(max<a[i]){
max=a[i];
}
if(min>a[i]){
min=a[i];
}
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[i]-a[j]<=d){
if(max>a[i] || a[j]<min){
cout<<n-(j-i+1);
break;
}
}
}
}
return 0;
}
1、找错
2、思路
陈曦在2020-07-15 20:03:30追加了内容
顶顶顶
@各位,思路能给点吗?
陈曦在2020-07-16 11:54:34追加了内容
@侯平仄
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int a[10005],n,d,k,min=99999,max=-1;
cin>>n>>d;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[j]-a[i]<=d){
cout<<n-(j-i+1);
return 0;
}
}
}
return 0;
}
还是不对。
1
1
李瑞曦
高级天翼
高级天翼
额,看不懂你的代码,发一下我的核心吧
for(int j=1;j<=n;j++)
{
if(a[j]<a[i]||a[j]>a[i]+d)
cnt++;
}
1
李鑫羽
初级光能
初级光能
核心代码
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+1+n);
int j=1;
for(int i=1;i<=n;i++){
while(j<=n&&a[j]-a[i]<=k)
j++;
ans=min(ans,n-(j-i));
}
cout<<ans;
李鑫羽在2020-07-15 16:14:47追加了内容
发错了,发成了核心代码,别举报
李鑫羽在2020-07-15 16:38:10追加了内容
我已看不懂
李鑫羽在2020-07-16 14:04:45追加了内容
不过核心代码是对的
1
柯以成
新手光能
新手光能
核心
for(int i=1;i<=n;i++){ //将每 个数作为最小值分别试验
int t=a[i]+d;
for(int j=1;j<=n;j++){ // 如果数字在a[i]~a[i]+d范围之外,则需要被删除
if(a[j]<a[i]||a[j]>a[i]+d) cnt++;
}
ans=min( ans,cnt);
cnt=0;
}
0
0
0
0
0