TEMP

八皇后

#include<stdio.h>
int a[9]={0};
int count = 0;
int check_position(int i,int j)//判断i行j位置是否为有效位置
{
    int m;
    for(m=1;m<i;m++)
    {
        if(a[m]==j)
            return 0;
        else if((m+a[m])==(i+j))
            return 0;
        else if((a[m]-m)==(j-i))
            return 0;
    }
    return 1;
}
void print(int a[])
{
    int i=1,j;
    printf("0 1 2 3 4 5 6 7 8\n");
    for(i=1;i<9;i++)
    {
        printf("%d ",i);
        for(j=1;j<a[i];j++)
            printf(" ");
        printf("* ");
        for(j=a[i]+1;j<9;j++)
            printf(" ");
        printf("\n");
    }
    printf("==========================================================\n");
}
void queen(int i)
{
    int j;
    for(j=1;j<=8;j++)
    {
        if(check_position(i,j)!=0)
        {
            a[i]=j;
            if(8==i)
            {
                print(a);
                a[i]=0;
                count++;
                return;
            /*if(8==i) { print(a,9); return ; }*/
            }
            queen(i+1);
            a[i]=0;
        }
    }
}
int main()
{
    int i;
    //for(i=1;i<9;i++) 
        queen(1);
    printf("%d\n",count);
    return 0;
}

背包问题

#include<stdio.h>
int w[]={0,3,4,5};
int p[]={0,4,5,6};
int c[4][11]={0};
int main()
{
    int tmp=0,i,j;
    for(i=1;i<4;i++)
    {
        for(j=1;j<11;j++)
        {
            if(j<w[i])
                c[i][j]=c[i-1][j];
            else if(c[i-1][j-w[i]]+p[i]>c[i-1][j]) 
                c[i][j]=c[i-1][j-w[i]]+p[i];
            else
                c[i][j]=c[i-1][j];      
        }
    }
    return 0;
}

反转链表

#include<stdio.h>
#define MAX 100
typedef struct
{
    int v;
    int pre;
}s;
s dp[MAX];
int main()
{
    int N;
    int a[MAX]={0};
    s dp[MAX];
    scanf("%d",&N);
    int i=0;
    for(i=0;i<N;i++)
    {
        scanf("%d",&a[i]);
        dp[i].v=1;
        dp[i].pre=-1;
    }
    int j=0;
    for(i=0;i<N;i++)
        for(j=0;j<i;j++)
        {
            if(a[j]<a[i]&&(dp[j].v+1)>dp[i].v)
            {
                dp[i].v=dp[j].v+1;
                dp[i].pre = j;
            }
        }
    s* tmp=&dp[0];
    for(i=0;i<N;i++)
    {
        if(tmp->v<dp[i].v)
        {
            tmp=&dp[i];
        }
    }

printf("%d\n",tmp->v);
printf("%d ",a[--i]);
while(tmp->pre!=-1)
{
    printf("%d ",a[tmp->pre]);
    tmp = &dp[tmp->pre];
}
return 0;
}
全部评论

相关推荐

刚刷到字节跳动官方发的消息,确实被这波阵仗吓了一跳。在大家还在纠结今年行情是不是又“寒冬”的时候,字节直接甩出了史上规模最大的转正实习计划——ByteIntern。咱们直接看几个最硬的数,别被花里胡哨的宣传词绕晕了。首先是“量大”。全球招7000多人是什么概念?这几乎是把很多中型互联网公司的总人数都给招进来了。最关键的是,这次的资源分配非常精准:研发岗给了4800多个Offer,占比直接超过六成。说白了,字节今年还是要死磕技术,尤其是产品和AI领域,这对于咱们写代码的同学来说,绝对是今年最厚的一块肥肉。其次是大家最关心的“转正率”。官方直接白纸黑字写了:整体转正率超过50%。这意味着只要你进去了,不划水、正常干,每两个人里就有一个能直接拿校招Offer。对于2027届(2026年9月到2027年8月毕业)的同学来说,这不仅是实习,这简直就是通往大厂的快捷通道。不过,我也得泼盆冷水。坑位多,不代表门槛低。字节的实习面试出了名的爱考算法和工程实操,尤其是今年重点倾斜AI方向,如果你简历里有和AI相关的项目,优势还是有的。而且,转正率50%也意味着剩下那50%的人是陪跑的,进去之后的考核压力肯定不小。一句话总结:&nbsp;27届的兄弟们,别犹豫了。今年字节这是铁了心要抢提前批的人才,现在投递就是占坑。与其等到明年秋招去千军万马挤独木桥,不如现在进去先占个工位,把转正名额攥在手里。
喵_coding:别逗了 50%转正率 仔细想想 就是转正与不转正
字节7000实习来了,你...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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