字节跳动春招研发部分编程题汇总

news2024/11/28 2:51:11

状压dp(不会)

 http://t.csdn.cn/W9Pi2

#include <iostream>
#include<string.h>
#include<math.h>
using namespace std;
char a[1005];
char c[1005];
int main() {
   int n;
   scanf("%d",&n);
   for(int i=1;i<=n;i++){
        scanf("%s",a);
        int l=strlen(a);
        memset(c,'\0',sizeof(c));
        int num=0;
        for(int j=0;j<l;j++){
            if(j<2){
                c[num++]=a[j];
            }
            else if(j>=2&&num>=2&&a[j]==c[num-1]&&a[j]==c[num-2]){
                       continue;
            }
            else if(j>=3 && num>=3 &&c[num-3]==c[num-2]&&a[j]==c[num-1]){
                continue;
            }
            else{
                c[num++]=a[j];
            }
        }
        c[num]='\0';
        printf("%s\n",c);

   }
   return 0;
}
// 64 位输出请用 printf("%lld")

 

双端滑动窗口,三个值要确定最后一个值,之后排列组合选出前两个值

#include <iostream>
using namespace std;
int a[1000006];
int mod=99997867;
long long power(long long m){
                return m*(m-1)/2;  
}
int main() {
    // int a, b;
    // while (cin >> a >> b) { // 注意 while 处理多个 case
    //     cout << a + b << endl;
    // }
   int N,D;
   scanf("%d%d",&N,&D);
   for(int i=0;i<N;i++){
    scanf("%d",&a[i]);
   }
   int left=0;
    int right=2;
   long long res=0;
   for(int i=2;i<N;i++){
      if(a[i]-a[left]<=D){
           int m=(i-left);
           if(m>=2)
           {
                 res+=power(m);
                res=res%mod;
           }
          
      }
      else{
        while(a[i]-a[left]>D&&left<i){
             left++;
        }
        if(left==i)
        {
            continue;
        }
        else{
             int m=(i-left);
           if(m>=2)
           {
                 res+=power(m);
                res=res%mod;
           }
        }

               
    }
    
   }
      printf("%lld\n",res);

}
// 64 位输出请用 printf("%lld")

暴力要把最后一张加进去,然后判断是否满足条件

#include <iostream>
#include<vector>
#include<map>
#include<string.h>
using namespace std;
int a[15];

vector<int>res;
int main() {
    for(int i=1;i<=13;i++){
        scanf("%d",&a[i-1]);
       
    }
    for(int i=1;i<=9;i++){
        // map<int,int>mp;
        int b[10];
        int c[10];
        memset(b,0,sizeof(b));
         memset(c,0,sizeof(c));
        for(int j=0;j<13;j++){
            // mp[a[j]]++;
            b[a[j]]++;
        }
        b[i]++;
        if(b[i]>=5) continue;
        int w3=0;
        int w2=0;
        for(int j=1;j<=9;j++){
            int k=b[j];
            if(k==3){
                w3++;
            }
            else if(k==2){
                w2++;
            }
        }
        if(w3==4 &&w2==1){
            res.push_back(i);
            continue;
        }
        else{
            for(int j=1;j<=9;j++){
                c[j]=b[j];
            }
            for(int p=1;p<=9;p++){
                 for(int j=1;j<=9;j++){
                b[j]=c[j];
                }
                if(b[p]>=2){
                    b[p]-=2;
                }
                else{
                    continue;
                }
                int w4=0;
                int id=0;
                for(int j=1;j<=9;j++){
                    if(b[j]==3){
                        w4++;
                        continue;
                    }
                    if(b[j]==4){
                        b[j]-=3;
                        w4++;
                    }
                    if(b[j]&&j<=7){
                        if(b[j+1]-b[j]>=0&&b[j+2]-b[j]>=0)
                        {
                            b[j+1]-=b[j];
                            b[j+2]-=b[j];
                            w4+=b[j];
                            continue;
                        }
                        else{
                            id=1;
                            break;
                        }
                    }
                }
                b[p]+=2;
                if(id==1){
                    continue;
                }
                else{
                  if(w4==4){
                    res.push_back(i);
                    break;
                  }
                }

            }

        }
    }
    if(res.size()==0){
         printf("0\n");
         return 0;
    }
    for(int i=0;i<res.size();i++){
        if(i==0){
            printf("%d",res[i]);
        }
        else{
            printf(" %d",res[i]);
        }
    }
    printf("\n");
    return 0;
    
    
}
// 64 位输出请用 printf("%lld")

使用哈希

#include <iostream>
#include<map>
using namespace std;
// vector<int>ve[1e5+7];
map<pair<int,int>,int>mp;
map<pair<int,int>,int>seq;//已经连续出现几次;
int main() {
   int n;
   scanf("%d",&n);
   while(n--){
   
    int M;
    scanf("%d",&M);
    mp.clear();
    seq.clear();
    int res=0;
    for(int i=0;i<M;i++){
        int w;
        scanf("%d",&w);
        for(int j=0;j<w;j++){
            int x,y;
            scanf("%d%d",&x,&y);
            pair<int,int>p;
            p.first=x;
            p.second=y;
            if(mp[p]==i)//上一帧出现
            {
                  mp[p]=i+1;//第几帧出现;
                  seq[p]++;
                  res=max(res,seq[p]);
            }
            else{
                  mp[p]=i+1;
                  seq[p]=1;
                  res=max(res,1);

            }
          

            

        }
    }
    printf("%d\n",res);
   }
   return 0;
}
// 64 位输出请用 printf("%lld")

暴力,先计算面值大的

#include <iostream>
using namespace std;

int main() {
    // int a, b;
    // while (cin >> a >> b) { // 注意 while 处理多个 case
    //     cout << a + b << endl;
    // }
    int n;
    scanf("%d",&n);
    int w=1024-n;
    int x=w/64;
    w=w-x*64;
    int x1=w/16;
    w=w-x1*16;
    int x2=w/4;
    w=w-x2*4;
    int result=x+x1+x2+w;
    printf("%d\n",result);
    return 0;
}
// 64 位输出请用 printf("%lld")

二分

#include <iostream>
#include<math.h>
using namespace std;
int a[5000];

bool H(int n,int e){
    for(int i=0;i<n;i++){
        e=2*e-a[i];
        if(e<0){
            return false;
        }
        if(e>1e5){
            return true;
        }
      
    }
  return true;

}
int main() {
    int n;
    scanf("%d",&n);
    int max_num=0;
    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
        max_num=max(a[i],max_num);
    }
    int left=1;
    int right=max_num;
    while(left<=right)
    {
          int mid=(left+right)/2;
          bool m=H(n,mid);
          if(m){
            right=mid-1;
          }
          else{
            left=mid+1;
          }
    }
    printf("%d\n",left);
    return 0;
}
// 64 位输出请用 printf("%lld")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/764012.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pytorch学习笔记(1)

目录 1. 张量&#xff08;Tensors&#xff09; 2. 自动求导&#xff08;Automatic Differentiation&#xff09; 3. 神经网络的构建和训练 送书活动 PyTorch是一个基于Python的开源机器学习库&#xff0c;广泛应用于深度学习和人工智能领域。它提供了丰富的工具和函数&…

什么是域服务(NETBASE第十一课)

域服务(NETBASE第十一课) web虚拟主机(一台服务器运行多个WEB站点) Web虚拟主机的实现方法&#xff1a; 1&#xff09;同IP不同端口&#xff08;基于端口的虚拟主机&#xff09; 2&#xff09;同端不同IP&#xff08;基于IP的虚拟主机&#xff09; 3&#xff09;同端口同I…

使用typora+PicGo+Gitee简单实现图片上传功能

本文通过配置PicGoGitee来实现typora图片上传功能&#xff0c;系统是window 注意下载的清单有&#xff1a;PicGo&#xff0c;node.js&#xff0c;配置有&#xff1a;PicGo&#xff0c;node.js&#xff0c;gitee&#xff0c;typora 看着复杂实际上并不难&#xff0c;只是繁琐&am…

OLLVM虚假控制流源码分析

文章目录 runOnFunction函数bogus函数目前源码&#xff1a;addBogusFlow函数1createAlteredBasicBlock函数原基本块&#xff1a;copy的基本块&#xff1a; addBogusFlow函数2 runOnFunction函数 if (ObfTimes < 0) {errs()<<"BogusControlFlow application numb…

缓存淘汰策略

LRU 与 LFU 缓存策略及其实现。 应用层缓存 鉴于磁盘和内存读写的差异性&#xff0c;DB 中低频写、高频读的数据适合放入内存中&#xff0c;直接供应用层读写。在项目中读取用户资料时就使用到了 LRU&#xff0c;而非放到 Redis 中。 缓存的 2 个基本实现 Set(key string, v…

RandLA-Net 复现

GPU3090 CUDA12 1、代码 [github地址] git clone --depth1 https://github.com/QingyongHu/RandLA-Net && cd RandLA-Net 2、虚拟环境中配置&#xff1a; 在跑代码的时候出现错误&#xff1a;open3d.so文件中函数报错。查看open3d版本发现不是要求的0.3版本&#xff…

基于PyQt5的UI界面开发——信号与槽

信号与槽的机制 PyQt5采用了一种被称为“信号与槽”机制的编程模式&#xff0c;用于处理对象间的通信和事件处理。在PyQt5中&#xff0c;信号&#xff08;signal&#xff09;是对象发出的特定事件&#xff0c;例如按钮被点击、文本被修改等。而槽&#xff08;slot&#xff09;…

攻不下dfs不参加比赛(十七)

标题 为什么练dfs题目为什么练dfs 相信学过数据结构的朋友都知道dfs(深度优先搜索)是里面相当重要的一种搜索算法,可能直接说大家感受不到有条件的大家可以去看看一些算法比赛。这些比赛中每一届或多或少都会牵扯到dfs,可能提到dfs大家都知道但是我们为了避免眼高手低有的东…

WooCommerce企业级电子商务需要了解的事情

建立成功的企业业务变得比以往任何时候都容易得多。借助各种可用的平台&#xff0c;将您的想法付诸实践是绝对可行的。 “WooCommerce 是最知名的 WordPress 网站电子商务平台之一。” 它于 2011 年推出&#xff0c;自此受到大型和小型企业的欢迎。它的流行主要归功于其各种免费…

【接口流程分析】唯品会WEB端

唯品会WEB端 来看看唯品会是怎么回事&#xff0c; 地址&#xff1a;aHR0cHM6Ly93d3cudmlwLmNvbS8 https://github.com/Guapisansan/gpss_learn_reverse 代码在这里&#xff0c;会持续更新逆向案例 免责声明&#xff1a; 此文档&#xff0c;以及脚本&#xff0c;仅用来对技术的…

七年老程序员的五六月总结:十一件有意义的事

你好&#xff0c;我是拭心&#xff0c;一名工作七年的安卓开发。 每两个月我会做一次总结&#xff0c;记下这段时间里有意义的事和值得反复看的内容&#xff0c;为的是留一些回忆、评估自己的行为、沉淀有价值的信息。 最近两周的我一直处于“战斗“状态&#xff0c;同时做好…

未来驾驶新标配;CarLuncher车载开发塑造智能娱乐导航系统

车载开发在新能源汽车的快速市场占有率增长背景下具有广阔的前景。随着环境保护意识的增强和政府对清洁能源的支持&#xff0c;新能源汽车&#xff08;如电动汽车&#xff09;在全球范围内呈现出快速增长的趋势。这种趋势为车载开发提供了许多机会和潜在市场。 新能源汽车的普…

一文搞定 Postman 接口自动化测试(全网最全版)

0 前言 本文适合已经掌握 Postman 基本用法的读者&#xff0c;即对接口相关概念有一定了解、已经会使用 Postman 进行模拟请求等基本操作。 工作环境与版本&#xff1a; Window 7&#xff08;64位&#xff09;Postman &#xff08;Chrome App v5.5.3&#xff09; P.S. 不同…

数据结构day3(2023.7.17)

一、Xmind整理&#xff1a; 二、课上练习&#xff1a; 练习1&#xff1a;时间复杂度 时间复杂度&#xff1a;只保留最高阶f(n)3*n^2n^2100nT(n)O(3*n^3n^2100n)O(3*n^3)O(n^3)1>O(1):常数阶int ta; 1ab; 1at; 1f(n)3T(n)O(3)O(3*n^0)O(n^0)O(1)2>O(n): 线性阶for…

selenium:鼠标模拟操作ActionChains

ActionChains 1.导入ActionChains包 from selenium.webdriver import ActionChains 2. 执行原理 调用ActionChains的方法时&#xff0c;不会立即执行&#xff0c;而是将所有的操作,按顺序存放在一个队列里&#xff0c;当你调用perform()方法时&#xff0c;队列中的事件…

EMC学习笔记(十五)射频PCB的EMC设计(二)

射频PCB的EMC设计&#xff08;二&#xff09; 1.滤波1.1 电源和控制线的滤波1.2 频率合成器数据线、时钟线、使能线的滤波 2.接地2.1 接地分类2.2 大面积接地2.3 分组就近接地2.4 射频器件接地2.5 接地时应该注意的问题2.6 接地平面的分布 1.滤波 1.1 电源和控制线的滤波 随着…

项目经理如何处理项目依赖性?

项目不是凭空产生的&#xff0c;项目管理中的依赖性涉及管理和安排项目任务&#xff0c;同时牢记其顺序和要求。如果开始任务B需要先完成任务A&#xff0c;那么可以说任务B依赖于任务A。 这现在听起来可能很简单&#xff0c;但在具有多个相互依赖的任务的复杂项目中&#xff0…

duilib绝对定位与相对定位

文章目录 前言1、绝对位置&#xff08;floattrue&#xff09;2、窗口3、布局及控件4、相对位置&#xff08;floatfalse&#xff09;5、窗口6、布局与控件7、嵌套在布局与控件之中的布局与控件 前言 duilib中窗口&#xff0c;布局&#xff0c;控件等在屏幕上的显示位置都是按照…

Selenium自动化测试-设置元素等待

selenium中有三种时间等待&#xff1a; 强制等待&#xff1a;sleep隐式等待&#xff1a;implicitly_wait显示等待&#xff1a;WebDriverWait 1.sleep 让程序暂停运行一定时间&#xff0c;等待时间到达后继续运行。 使用sleep&#xff0c;需先导入time模块&#xff0c;impor…

一.《某三国》人物属性及其相关属性

人物属性 1.找一个可以操控变化的属性来找 比如血量.坐标或者五铢(绑定金币),这里我们用五铢找 五铢只要打一个怪就会加一点 2.我们直接搜变化即可搜到 五铢地址0AD64EAC 3.我们CE给地址下访问 4.这里我们最后找第一条访问 因为他是被改变的 或者你CE给地址下写入 5.然后我…