阿里巴巴2星编程题-->选择物品
文章目录
- 一、题目描述
- 二、思路及代码
- 1.解题思路之回溯算法
- 2.代码呈现
- 总结
一、题目描述
有个 n n n 个物品可供选择,必须选择其中 m m m 个物品,请按字典序顺序输出所有选取方案的物品编号, 123 123 123 与 312 312 312 与 321 321 321 等被认为是同一种方案,输出字典序最小的 123 123 123 即可。
数据范围: 1 < = m < = n < = 10 1<=m<=n<=10 1<=m<=n<=10
输入描述:
对于每一组测试数据, 每行输入2个数 n n n 和 m m m
输出描述:
对于每组输入样例,按字典序输出所有方案选择物品的编号,每种方案占一行
输入输出示例:
二、思路及代码
1.解题思路之回溯算法
根据题目描述,可以讲问题理解为一个组合问题,组合问题使用回溯算法,回溯算法的解题模板如下:
def backtrace(参数):if 终止条件:存放结果return单层循环for i in range(本层集合中的元素):处理节点backtrace(路径,选择列表)回溯,撤销处理结果
根据回溯算法的解题模板,以及题目要求,可以很容易的找到终止条件就是:已经处理的节点个数等于 m m m,就可以存放结果了,本题直接对结果进行了输出。
2.代码呈现
def SelcetItem(n, m, array, path, result):def backtrace(n, m, array, StartIndex):if len(path) == m:#result.append(path[:])print(" ".join(map(str, path)))return for i in range(StartIndex, n):path.append(array[i])backtrace(n, m, array, i+1)path.pop()backtrace(n, m, array, 0)return resultn, m = map(int, input().strip().split())
array = [i for i in range(1, n+1)]
path = []
result = []
SelcetItem(n, m, array, path, result)
总结
到这里就结束了,如果有表述不当的地方,希望大家多多指出,下次题目再见吧。
阿里巴巴2星编程题-->选择物品相关推荐
- 阿里巴巴(Alibaba)笔试编程题
前言 最近在牛客网上找了点阿里巴巴笔试的编程题做,现在做个简单的总结.有的代码还在调,会慢慢发出来.有的问题可以直接暴力破解的就不放出来了,一般那种问题几层循环就解决了.不过笔试编程对时间和空间都有要 ...
- 阿里巴巴算法岗编程题:菜鸟仓库
菜鸟仓库 菜鸟仓库是一个很大很神奇的地方,各种琳琅满目的商品整整齐齐地摆放在一排排货架上,通常一种品类的商品会放置在货架的某一个格子中,格子设有统一的编号,方便工人们挑选.有一天沐哲取菜鸟仓库参观,无 ...
- 牛客网笔试真题 2021 阿里巴巴编程题(4星)题解(1-5)
2021阿里巴巴校招笔试真题_Java工程师.C++工程师_牛客网 1.小强现在有n个物品,每个物品有x,y两种属性和.他想要从中挑出尽可能多的物品满足以下条件:对于任意两个物品 i 和 j ,满足( ...
- Java 笔试强训 牛客网选择编程题 01
一.选择 1.单选 1.1.语法: public class Test3{public static void main(String[] args) {System.out.println(100 ...
- [编程题]:n头牛中选择满足所有m种特性的牛(百度2021)
[编程题]:n头牛中选择满足所有m种特性的牛 牛牛管理着一片牧场,在这片牧场中,一共有n头奶牛,为了方便统计,它们排成一排,编号为 1 - n. 现在质检员牛妹在检测这些奶牛的质量,她列出了m条特性, ...
- 《面试》 --阿里巴巴数据分析岗面试编程题解析
昨天做阿里非研发岗编程题,虽不是很难,但还是因为个人原因调试失败,特此今日复盘,希望能帮助大家提高. 第一题 选择出行方式,ofo是每1.5公里1元,不足1.5公里的按1.5计算 永安行是使用时间,每 ...
- Python快速编程入门课后程序题答案(所有的章节的选择、填空、编程题答案)
Python课后题答案 第1章Python概述 一.填空题 1.对象 2.可移植 3.字节码 4.UTF-8 二.判断题 1.对 2.对 3.对 4.对 5.错 6.错 7.对 8.错 9.对 10. ...
- 阿里巴巴2019应届内推30分钟编程题
其他算法笔试题目: 第一题 2019应届毕业生,网易算法工程师笔试题第一题 第二题 2019应届毕业生,网易算法工程师笔试题第二题 ---------------------------------- ...
- (C语言)字符串函数strcpy和strlen的实现,以及简单的文字编程题(派大星看了都会写)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.字符串库函数strcpy的实现 二.字符串库函数strlen的实现 三,简单的文字编程题 提示:以下是本篇文章正文内容, ...
最新文章
- Python应用实战案例-pyspark库从安装到实战保姆级讲解
- Asp.Net Boilerplate微服务实战(二)架构解析
- 项目总结2:ionic3开发跨平台App如何设置和替换应用图标及启动图
- js和jquery书籍
- arcgis 字段计算器 条件赋值_ArcGIS中属性表的常用操作汇总
- [POI2009]SLO
- SpringBoot常用注解以及作用
- php空格占几个字符,一个空格几个字符?
- 数学方法论选讲---第一章 引论
- uptool u盘量产工具 v2.093
- ThinkPHP核心框架目录结构
- mysql 悲观锁 的运用
- macOS: 字体(font)文件 的 存放路径
- Qt、C++实现五子棋人机对战与本地双人对战
- 图形化编写html,怎么使用Pytest+Allure生成漂亮的HTML图形化测试报告
- 国内开源软件镜像地址
- MQTT中topic匹配规则基础
- CancerSubtypes包的介绍(根据生信技能树Jimmy老师分享的乳腺癌分子分型包资料整理)
- IAR编辑器字体配置
- UE4 动画重定向之使用同一套骨骼