题解 | #数据分类处理#

数据分类处理

http://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define num 10000

struct have{
    int locat[num];
    int all_n;
};

int get_sn(int l,int s){
    int i,j,len_l=1,len_s=1,tl,ts,n=0,temp=1;
    tl=l;
    ts=s;
    while((tl/=10)) len_l++;
    while((ts/=10)) len_s++;
    for(i=0;i<len_s;i++) temp*=10;
    
    if(len_l<len_s) return 0;
    
    
    for(i=0;i<len_l-len_s+1;i++){
        if(((len_l-i)==len_s)&&(l==s)) return 1;
        else if(((len_l-i)==len_s)&&(l!=s)) return 0;
        if(l%(l/temp*temp)==s) return 1;
        l/=10;
    }
    return 0;
}

void get_list(struct have *list,int *l,int *s,int l_n,int s_n){
    int i,j;
    for(i=0;i<s_n;i++){
        list[i].all_n=0;
        for(j=0;j<l_n;j++){
            if(get_sn(l[j],s[i])){
                list[i].locat[list[i].all_n]=j;
                list[i].all_n++;

            }
        }
    }
}

int main(void) { 
    int l[num],s[num],l_n,s_n,all_n,i,j,temp,tot_n=0;

	while(scanf("%d",&l_n)!=-1){
	for(i=0;i<l_n;i++) scanf("%d",l+i);
	scanf("%d",&s_n);
	for(i=0;i<s_n;i++) scanf("%d",s+i);
	

	for(i=0;i<s_n-1;i++){
	    for(j=0;j<s_n-1-i;j++){
	        if(s[j]>s[j+1]){
	            temp=s[j];
	            s[j]=s[j+1];
	            s[j+1]=temp;
	        } 
	    }
	}
	
	j=0;
	for(i=0;i<s_n;i++){
	    s[j]=s[i];
	    if(s[i]!=s[i+1]) j++;
	}

	s_n=j;
	
	
	struct have list[s_n];
	get_list(list,l,s,l_n,s_n);
	tot_n=0;
	for(i=0;i<s_n;i++){
	    if(list[i].all_n!=0) tot_n+=list[i].all_n*2+2;
	}
	printf("%d ",tot_n);
	
	for(i=0;i<s_n;i++){
	    if(list[i].all_n!=0) {
	        printf("%d %d ",s[i],list[i].all_n);
	        for(j=0;j<list[i].all_n;j++) printf("%d %d ",list[i].locat[j],l[list[i].locat[j]]);
	    }
	}
	printf("\n");
	}
	return 0;
}
全部评论

相关推荐

找个工作&nbsp;学历是要卡的&nbsp;要求是高的&nbsp;技能不足是真的&nbsp;实习经验是0的&nbsp;简历无处可写是事实的&nbsp;钱不好赚是真的&nbsp;想躺平又不敢躺&nbsp;也不甘心躺&nbsp;怕自己的灵感和才华被掩埋甚至从未被自己发现&nbsp;又质疑自己是否真正有才华
码农索隆:你现在啊,你心里都明白咋回事,但是你没办法改变现状,一想到未来,你又没有信心狠下心来在当下努力。 得走出这种状态,不能一直困在那里面,哪不行就去提升哪,你一动不动那指定改变不了未来,动起来,积少成多才能越来越好
点赞 评论 收藏
分享
06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
07-02 10:44
门头沟学院 C++
码农索隆:太实诚了,告诉hr,你能实习至少6个月
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务