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

状压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.hqwc.cn/news/26709.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图形编辑器开发:一些会用到的简单几何算法

大家好&#xff0c;我是前端西瓜哥。 开发图形编辑器&#xff0c;你会经常要解决一些算法问题。本文盘点一些我开发图形编辑器时遇到的简单几何算法问题。 矩形碰撞检测 判断两个矩形是否发生碰撞&#xff08;或者说相交&#xff09;&#xff0c;即两个矩形有重合的区域。 …

【Kubernetes运维篇】RBAC认证授权详解(二)

文章目录 一、RBAC认证授权策略1、Role角色2、ClusterRole集群角色3、RoleBinding角色绑定和ClusterRoleBinding集群角色绑定 二、通过API接口授权访问K8S资源三、案例&#xff1a;常见授权策略1、常见的角色授权策略案例2、常见的角色绑定案例3、常见的ServiceAccount授权绑定…

数学专题训练2 组合计数

1. 硬币购物 4 种面值的硬币&#xff0c;第 i 种的面值是 C i C_i Ci​​。 n n n​ 次询问&#xff0c;每次询问给出每种硬币的数量 D i D_i Di​​ 和一个价格 S S S​&#xff0c;问付款方式。 n ≤ 1 0 3 , S ≤ 1 0 5 n\leq 10^3,S\leq 10^5 n≤103,S≤105​. 如果用…

ORCA优化器浅析——​MD Accessor的三级缓存

分析​MD Accessor对元数据的缓存能力 set client_min_messageslog; set optimizer to on; set optimizer_print_optimization_stats to on; --执行SQLoptimizer_print_optimization_stats GUC会打印处ORCA优化器优化流程中的各步骤的统计数据。分析打印日志如下&#xff0c;由…

C++核心编程之函数高级使用

目录 一、函数的默认参数 二、函数占位参数 三、函数重载 四、函数重载-注意事项 一、函数的默认参数 在C中&#xff0c;函数的形参列表中的形参是可以有默认值的 语法&#xff1a;返回值类型 函数名 &#xff08;参数默认值&#xff09;{} 示例1&#xff1a; #includ…

Windows10下ChatGLM2-6B模型本地化安装部署教程图解

随着人工智能技术的不断发展&#xff0c;自然语言处理模型在研究和应用领域备受瞩目。ChatGLM2-6B模型作为其中的一员&#xff0c;以其强大的聊天和问答能力备受关注&#xff0c;并且最突出的优点是性能出色且轻量化。然而&#xff0c;通过云GPU部署安装模型可能需要支付相应的…

在Vitis IDE中使用第三方库 libtiff 保存 tiff 文件

目的和思路 一个Vitis IDE 裸机项目&#xff0c;需要将视频帧无损地保存下来 由于每帧的像素数据是 16bit 1通道的 bayer 格式&#xff0c;满足这一需求的图像格式似乎只有 tiff 格式 开源的tiff 库是 libtiff&#xff0c;而在 Vitis IDE 裸机项目中要使用的话就需要交叉编译…

数据结构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…

Python 和 RabbitMQ 进行消息传递和处理

一、RabbitMQ 简介 RabbitMQ 是一个开源的消息代理软件&#xff0c;它实现了高级消息队列协议&#xff08;AMQP&#xff09;标准。它的官方客户端提供了多种编程语言的接口&#xff0c;包括 Python、Java 和 Ruby 等。它支持消息的持久化、多种交换机类型、消息通知机制、灵活…

Ubuntu 18.04 Docker 安装配置 Apollo 6.0

百度 Apollo 安装测试&#xff08;1&#xff09; Apollo 6.0 安装完全指南 在这一步出错&#xff1a; 进入到 Apollo 源码根目录&#xff0c;打开终端&#xff0c;执行下述命令以启动 Apollo Docker 开发容器 ./docker/scripts/dev_start.sh并没有成功启动 Apollo docker 开发…

gma 2.0.0a3 (2023.07.17) 更新日志

安装 gma 2.0.0a3 pip install gma2.0.0a3新增 1、为矢量要素&#xff08;Feature&#xff09;添加 【Difference】&#xff08;差集&#xff09;方法   取第一个矢量要素与第二个矢量要素的几何差集。  2、为矢量要素&#xff08;Feature&#xff09;添加几种几何形状测试…

LLaMA(Open and Efficient Foundation Language Models )论文解读(二)

此篇博客主题:LLAMA模型数据、训练时长、功耗及碳排放量 LLaMA: Open and Efficient Foundation Language Models paper https://arxiv.org/pdf/2302.13971v1.pdf 1 训练样本 Overall, our entire training dataset contains roughly 1.4T tokens after tokenization. For mo…