didi-笔试
import java.util.*; /**
* 正整数,没有前导0
* 相邻的数字不能相同
* 可以被3整除
* 输入:?12?0?9??
* 输出:212101902
*/
public class Main {
static List<Integer> idxs = new ArrayList<>(); // 记录'?'字符的下标 public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
char[] s = line.toCharArray(); int bitSum = 0; // 记录每一位的和
for (int i = 0; i < s.length; i++) {
char c = s[i];
if (c == '?') {
idxs.add(i);
} else {
bitSum += c - '0';
}
} dfs(s, 0, bitSum);
System.out.println(String.valueOf(s));
} private static boolean dfs(char[] s, int index, int bitSum) {
if (index == idxs.size()) { // 遇到最后一个'?'
if (bitSum % 3 == 0) {
return true;
} else {
return false;
}
} int i = idxs.get(index); for (int k = 0; k <= 9; k++) {
if (i == 0 && k == 0) continue; // 第一个元素不能为0
if (i-1 >= 0 && s[i-1] - '0' == k) continue; // 元素不能和左右元素相邻
if (i+1 < s.length && s[i+1] - '0' == k) continue;// 元素不能和左右元素相邻
s[i] =(char)(k + '0');
if (dfs(s, index + 1, bitSum + k)) {
return true;
}
s[i] = '?';
} return false;
}
}
作者:AWeiii
链接:https://www.nowcoder.com/discuss/1055125?type=post&order=recall&pos=&page=0&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=B56220295BC9488455FA8FAE9D10BC82-1663405034525
来源:牛客网 每段栅栏要刷p次1号油漆和q次2号油漆才不会掉色。 第一行有三个正整数n,p,q(1<=n<=100000,1<=p,q<=n),代表刷漆的次数,以及两个参数 p 和 q。 第二到四行给出了一个大小为3*n的矩阵,第 i 列的三个数从上到下记为l,r,t(1<=l,r<=1000000000,1<=t<=2),代表第i次刷漆将编号在 l 到 r 之间的栅栏刷了一遍 t号油漆。 输出一个正整数,代表有多少栅栏可以长时间不掉色。 输入:
5 2 2
1 1 2 3 2
3 5 4 5 4
1 2 1 1 2 输出:
3
思路:差分 91% #include <bits/stdc++.h>
using namespace std; vector<long long> F;
vector<long long> S;
int main()
{ int n, p, q;
cin >> n >> p >> q; vector<long long> l(n);
vector<long long> r(n);
vector<long long> t(n);
long long maxn = 0;
for (int i = 0; i < n; ++i)
{
cin >> l[i];
} for (int i = 0; i < n; ++i)
{
cin >> r[i];
maxn = max(r[i], maxn);
} for (int i = 0; i < n; ++i)
{
cin >> t[i];
} F.resize(maxn+2);
S.resize(maxn+2); for (int i = 0; i < n; ++i) {
if(t[i] == 1) {
++F[l[i]];
--F[r[i]+1];
} else {
++S[l[i]];
--S[r[i]+1];
}
} int res = 0; for (int i = 2; i < maxn+2; ++i)
{
F[i] += F[i - 1];
S[i] += S[i - 1];
if(F[i] >= p && S[i] >= q) {
++res;
}
} cout << res; return 0;
}
// 需要离散化
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt(); int p=sc.nextInt(); int q=sc.nextInt();
sc.nextLine();
int[][] a=new int[n][3];
a[0]=Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();
a[1]=Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();
a[2]=Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();
Map<Integer,int[]> map=new HashMap<>();
for(int i=0;i<n;i++){
int[] tmp1=map.getOrDefault(a[0][i]-1, new int[2]);
int[] tmp2=map.getOrDefault(a[1][i], new int[2]);
tmp1[a[2][i]-1]--;
tmp2[a[2][i]-1]++;
map.put(a[0][i]-1, tmp1);
map.put(a[1][i], tmp2);
}
List<Map.Entry<Integer,int[]>> list=new ArrayList<>();
for(Map.Entry<Integer,int[]> v:map.entrySet()){
list.add(v);
}
Collections.sort(list,(x, y)->{
return y.getKey()-x.getKey();
});
// System.out.println(list.size());
int res=0;
int curp=0, curq=0;
int lastk=-1;
for(Map.Entry<Integer,int[]> v : list){
int tmpk=v.getKey();
//System.out.println(tmpk);
int[] tmpv=v.getValue();
if(lastk==-1){
curp+=tmpv[0];
curq+=tmpv[1];
lastk=tmpk;
}else{
if(curp>=p&&curq>=q){
res+=lastk-tmpk;
}
curp+=tmpv[0];
curq+=tmpv[1];
lastk=tmpk;
}
}
System.out.println(res);
}
}
didi-笔试的更多相关文章
- C++常见笔试面试要点以及常见问题
1. C++常见笔试面试要点: C++语言相关: (1) 虚函数(多态)的内部实现 (2) 智能指针用过哪些?shared_ptr和unique_ptr用的时候需要注意什么?shared_ptr的实现 ...
- 2016网易春招Java在线笔试回忆录
别看是在线笔试,但是非常严格,全称窗口不得最小化和关闭,转移,全称需要打开摄像头监控,使用草稿纸需要摄像头对准……反正2个小时,题量在那儿摆着,有作弊的功夫不如好好做做最后的编程题呢……网易不让泄漏原 ...
- BAT及各大互联网公司2014前端笔试面试题--Html,Css篇
很多面试题是我自己面试BAT亲身经历碰到的.整理分享出来希望更多的前端er共同进步吧,不仅适用于求职者,对于巩固复习前端基础更是大有裨益. 而更多的题目是我一路以来收集的,也有往年的,答案不确保一定正 ...
- BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
很多面试题是我自己面试BAT亲身经历碰到的.整理分享出来希望更多的前端er共同进步吧,不仅适用于求职者,对于巩固复习js更是大有裨益. 而更多的题目是我一路以来收集的,也有往年的,答案不确保一定正确, ...
- IT求职中,笔试、面试的算法准备
PS:此文章为转载,源地址:http://www.newsmth.net/nForum/#!article/CoderInterview/849 作者应该是在美国进行的笔试面试,感觉面试的的公 ...
- # C/C++的笔试题目
p,li { white-space: pre-wrap } # C/C++的笔试题目 + include<> 和include"" 的区别 + sizeof操作符与字 ...
- 技术渣如狗,面试虐成猴——本科楼主UC笔试加处女一面全纪录
背景——楼主为广州某校小本一枚,学习成绩渣(班里排名几乎倒数),技术基础渣(算是会敲代码,但很多计算机网络.操作系统的知识都只有模糊的印象).在舍友的鼓励下,收到广州UC的面试通知后,勇敢来到公司直面 ...
- DP - tencent2016实习生笔试A
tencent2016实习生笔试A Problem's Link ------------------------------------------------------------------- ...
- dp - 2016腾讯笔试 A
2016腾讯笔试 A Problem's Link -------------------------------------------------------------------------- ...
- 各大IT公司校园招聘程序猿笔试、面试题集锦
转自:http://blog.csdn.net/hackbuteer1/article/details/7959921#t4 百度一面 1.给定一个字符串比如“abcdef”,要求写个函数编程“def ...
随机推荐
- Unity_UIWidgets - 组件Container
Unity_UIWidgets - 组件Container Container 构造 效果 结语 QQ 今日无推荐 Unity_UIWidgets - 组件Container 上周给大家讲完了Scaf ...
- SqlServer服务中利用触发器对指定账户进行登录ip限制提升安全性
转眼间上次写文章已经是 2022年12月15日的事情啦,本来从2022年7月份开始写作之后保持着每周一篇,然而从12月15日后断更了这么久,经历了,隔离.阳.过年.从今天开始继续坚持写作,本片文章给大 ...
- 简述 JavaScript 的执行机制
一.单线程 为了解决这个问题,防止下一个任务等待上一个任务等待太长的时间,所以提出了 Web Worker标准,允许 JS 创建多个线程,于是JS出现了同步 和 异步 ,异步就是可以同时进行多个任务, ...
- 真正“搞”懂HTTPS协议16之安全的实现
上一篇噢,我们搞明白了什么是安全的通信,这个很重要,特别重要,敲黑板!! 然后,我们还学了HTTPS到底是什么,以及HTTPS真正的核心SSL/TLS是什么.最后我们还聊了聊TLS的实现,也就是Ope ...
- 【RocketMQ】DLedger选主源码分析
RocketMQ 4.5版本之前,可以采用主从架构进行集群部署,但是如果master节点挂掉,不能自动在集群中选举出新的Master节点,需要人工介入,在4.5版本之后提供了DLedger模式,使用R ...
- 使用nvm时报错:exit status 1: ļ Ѵ ʱ ļ 的解决办法
1.出现问题 如图,安装完nvm后,使用[nvm use 版本号]命令切换版本,出现如题错误,具体截图如下 2.分析原因 1)安装路径是否包含中文 2)安装路径有空格 3)cmd使用是否是管理员方式打 ...
- 学习Java Day27
今天在B站学习了什么是清单文件以及可执行的JAR文件,和不同版本下的JAR文件的差异
- ft5426触摸屏I2C
触摸的点数, 先写入地址0x38, 寄存器0x02, 再次读取0x38的数据,得到1个触摸点 读取全部坐标信息,需要读入30字节数据
- 【Oculus Interaction SDK】(十)在 VR 中使用手势识别
前言 前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了.本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发.当然,不排除我文章刚写完 SDK 又变 ...
- Redis 源码解读之 expire 的时机
Redis 源码解读之 expire 的时机 背景和问题 本文想解决的问题: redis 如何感知并触发 key 过期的? 如何防止大规模的 key 同时过期,导致 redis 主循环阻塞在清理过期 ...