题目来源:牛客,拼多多2021笔试真题集

第一题:多多的数字组合


打卡题,很明显的两个约束:每个位数各不相同 + 数字最小,在这两个条件的约束下,N最大为45,对应的数字为123456789
代码如下:

def main():N = int(input())if N>45:print(-1)else:ind = 9 # 指示当前添加到那个数字了ans = ''while N>ind:ans = str(ind)+ansN -= indind -= 1ans = str(N)+ansprint(ans)returnif __name__ == '__main__':main()

第二题:多多的字符变换


题目未限制操作次数,因此,相邻两字符的交换 等价于 任意两字符的交换,其代价都为0。

因此,想法是,字典存储每个字符串包含的字母对应的个数,去掉共同字符,剩下的字符从小到大排列,对应位置相减再求和即是答案。

注意,不能将剩下的字符求和再做相减,否则会发生抵消。

代码如下:

def main():N = int(input())X = input()Y = input()X_list,Y_list = [0]*26,[0]*26for i in range(N):X_list[ord(X[i])-97]+=1Y_list[ord(Y[i])-97]+=1X_sub,Y_sub = '',''for i in range(26):ind = min(X_list[i],Y_list[i])X_sub += chr(i+97)*(X_list[i]-ind)Y_sub += chr(i+97)*(Y_list[i]-ind)ans = 0for i in range(len(X_sub)):ans += abs(ord(X_sub[i])-ord(Y_sub[i]))print(ans)returnif __name__ == '__main__':main()

第三题:多多的求和计算


假设区间[i,j]的和谐值之和可以被M整除,并记作nM,同时,区间[0,i]的和谐值之和记作S1,区间[0,j]的和谐值之和记作S2,很显然,S2=S1+nM,变换得到S2%M = S1%M。这就是解题的关键:先求一遍前缀和,并对每个前缀和求余,记录余数为r的区间个数,再计算Cn2即可得到答案。

注意,答案需要加上前缀和自身对M求余为0的区间个数。

代码如下:

def main():N,M = map(int,input().split())cumu,ans = 0,0rest = [0]*Mfor i in input().split():cumu += int(i)rest[cumu%M]+=1for i in rest:ans += i*(i-1)//2print(ans+rest[0])returnif __name__ == '__main__':main()

!!!太经典的题了,需要反复看,和谐值本身不需要被记录,所有的前缀和也不需要都被记录下来

【编程练习】拼多多2021笔试真题集相关推荐

  1. 拼多多2021笔试真题集

    拼多多2021笔试真题集 数字组合 字符变换 求和计算 骰子组合 数字组合 多多君最近在研究某种数字组合: 定义为:每个数字的十进制表示中(0~9),每个数位各不相同且各个数位之和等于N. 满足条件的 ...

  2. 拼多多2021笔试真题集 多多的数字组合 多多的字符变换 多多的求和计算 多多的骰子组合

    第一题 多多的数字组合 多多君最近在研究某种数字组合: 定义为:每个数字的十进制表示中(0~9),每个数位各不相同且各个数位之和等于N. 满足条件的数字可能很多,找到其中的最小值即可. 输入描述: 共 ...

  3. 拼多多2021笔试真题集 -- 1. 多多的数字组合

    多多的数字组合 多多君最近在研究某种数字组合: 定义为:每个数字的十进制表示中(0~9),每个数位各不相同且各个数位之和等于N. 满足条件的数字可能很多,找到其中的最小值即可. 多多君还有很多研究课题 ...

  4. 拼多多2021笔试题解

    总 结 : 技 不 如 人 , A K 失 败 . j p g . . . 以 及 真 的 好 烦 大 模 拟 啊 h h h 总结:技不如人,AK失败.jpg...以及真的好烦大模拟啊hhh 总结: ...

  5. 牛客网笔试真题 2021 阿里巴巴编程题(4星)题解(1-5)

    2021阿里巴巴校招笔试真题_Java工程师.C++工程师_牛客网 1.小强现在有n个物品,每个物品有x,y两种属性和.他想要从中挑出尽可能多的物品满足以下条件:对于任意两个物品 i 和 j ,满足( ...

  6. 拼多多2021高频题汇总 | 备战春招,刷这30题就够了!

    春招高峰期,九章算法特别开放了[2021春招信息情报站],搜集汇总了阿里.字节.腾讯.顺丰.百度等互联网大厂的一手春招情报,包含网申链接.招聘范围.秘密情报.春招题库等,希望帮助更多同学顺利上岸! 校 ...

  7. 滴滴出行2017秋招笔试真题-编程题汇总_Java实现

    滴滴出行2017秋招笔试真题-编程题汇总_Java实现 注:有的题参考别人的思路,用我最容易理解的代码编的程序,所以可以不能最优的解法,后续我会进行更新,只是一个思路,我的笔记而已,所以不喜勿喷~~~ ...

  8. 网易2017春招笔试真题编程题集合

    网易2017春招笔试真题编程题集合 题目来源:牛客网 https://www.nowcoder.com/profile/7952866/test/7811777/83061 1.双核处理 题目描述 一 ...

  9. 笔试真题解析 | 4.15携程实习笔试三道编程题

    恭喜发现宝藏!搜索公众号[TechGuide]回复公司名,解锁更多新鲜好文和互联网大厂的笔经面经. 作者@TechGuide[全网同名] 订阅专栏[进阶版]2023最新大厂笔试真题 & 题解, ...

最新文章

  1. Windows Phone 7 WebBrowser 中文乱码问题
  2. Leetcode 95. 不同的二叉搜索树 II 解题思路及C++实现
  3. 本题中的变量(不包括变量ID)进行z-score标准化
  4. Java JDBC中,MySQL字段类型到JAVA类型的转换
  5. Python(60)_闭包
  6. 合泰单片机做电压表_启士 | 蓝桥杯零基础单片机教程9 I2C介绍(上)
  7. 调用servlet java_请问调用servlet并从JavaScript调用Java代码以及参数
  8. BZOJ 1607 [Usaco2008 Dec]Patting Heads 轻拍牛头:统计 + 筛法【调和级数】
  9. 【HEVC学习与研究】46、HEVC参考代码中SAO的实现
  10. adc0808模数转换实验报告_模数转换ADC0832、ADC0808和ADC0809的利用
  11. 【PR】PR剪辑视频编辑软件视频去字幕
  12. 用PS做手机计算机,功能与电脑ps相媲美的手机画画软件
  13. 查看计算机远程端口,如何查看服务器远程端口号.doc
  14. Android 安卓动画 属性动画 - 组合动画
  15. Python面向对象编程(类编程)中self的含义详解(简单明了直击本质的解释)
  16. 数字艺术藏品系统开发
  17. 解决IntelliJ IDEA创建Maven项目没有src目录的问题
  18. PX4和Airsim通信操作流程
  19. freeswitch按键自适应测试
  20. matlab 关联规则挖掘,数据挖掘实验(六)Matlab实现Apriori算法【关联规则挖掘】...

热门文章

  1. 主线剧情01-ARM-IMX6ULL基础学习记录
  2. Linux 常用关闭/重启服务器命令
  3. 三个变量存在一个协整方程_6个变量存在3个协整关系能直接回归了吗?
  4. 区块链技术如何赋能食品安全链路追溯
  5. 联想小新air14安装ubuntu16.04|内核操作
  6. matlab利用雷达检测器模块对驾驶场景中的车辆进行识别仿真
  7. 精编,精讲,精练,精益求精---AP微积分第10版在精雕细琢反复打磨中与你相遇
  8. 种群相互竞争Matlab,种群相互竞争模型
  9. 【Anaconda】Anaconda使用requirement方法
  10. MongoDB学习札记