文章目录

  • 一、题目描述
  • 二、思路及代码
    • 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星编程题-->选择物品相关推荐

  1. 阿里巴巴(Alibaba)笔试编程题

    前言 最近在牛客网上找了点阿里巴巴笔试的编程题做,现在做个简单的总结.有的代码还在调,会慢慢发出来.有的问题可以直接暴力破解的就不放出来了,一般那种问题几层循环就解决了.不过笔试编程对时间和空间都有要 ...

  2. 阿里巴巴算法岗编程题:菜鸟仓库

    菜鸟仓库 菜鸟仓库是一个很大很神奇的地方,各种琳琅满目的商品整整齐齐地摆放在一排排货架上,通常一种品类的商品会放置在货架的某一个格子中,格子设有统一的编号,方便工人们挑选.有一天沐哲取菜鸟仓库参观,无 ...

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

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

  4. Java 笔试强训 牛客网选择编程题 01

    一.选择 1.单选 1.1.语法: public class Test3{public static void main(String[] args) {System.out.println(100 ...

  5. [编程题]:n头牛中选择满足所有m种特性的牛(百度2021)

    [编程题]:n头牛中选择满足所有m种特性的牛 牛牛管理着一片牧场,在这片牧场中,一共有n头奶牛,为了方便统计,它们排成一排,编号为 1 - n. 现在质检员牛妹在检测这些奶牛的质量,她列出了m条特性, ...

  6. 《面试》 --阿里巴巴数据分析岗面试编程题解析

    昨天做阿里非研发岗编程题,虽不是很难,但还是因为个人原因调试失败,特此今日复盘,希望能帮助大家提高. 第一题 选择出行方式,ofo是每1.5公里1元,不足1.5公里的按1.5计算 永安行是使用时间,每 ...

  7. Python快速编程入门课后程序题答案(所有的章节的选择、填空、编程题答案)

    Python课后题答案 第1章Python概述 一.填空题 1.对象 2.可移植 3.字节码 4.UTF-8 二.判断题 1.对 2.对 3.对 4.对 5.错 6.错 7.对 8.错 9.对 10. ...

  8. 阿里巴巴2019应届内推30分钟编程题

    其他算法笔试题目: 第一题 2019应届毕业生,网易算法工程师笔试题第一题 第二题 2019应届毕业生,网易算法工程师笔试题第二题 ---------------------------------- ...

  9. (C语言)字符串函数strcpy和strlen的实现,以及简单的文字编程题(派大星看了都会写)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.字符串库函数strcpy的实现 二.字符串库函数strlen的实现 三,简单的文字编程题 提示:以下是本篇文章正文内容, ...

最新文章

  1. Python应用实战案例-pyspark库从安装到实战保姆级讲解
  2. Asp.Net Boilerplate微服务实战(二)架构解析
  3. 项目总结2:ionic3开发跨平台App如何设置和替换应用图标及启动图
  4. js和jquery书籍
  5. arcgis 字段计算器 条件赋值_ArcGIS中属性表的常用操作汇总
  6. [POI2009]SLO
  7. SpringBoot常用注解以及作用
  8. php空格占几个字符,一个空格几个字符?
  9. 数学方法论选讲---第一章 引论
  10. uptool u盘量产工具 v2.093
  11. ThinkPHP核心框架目录结构
  12. mysql 悲观锁 的运用
  13. macOS: 字体(font)文件 的 存放路径
  14. Qt、C++实现五子棋人机对战与本地双人对战
  15. 图形化编写html,怎么使用Pytest+Allure生成漂亮的HTML图形化测试报告
  16. 国内开源软件镜像地址
  17. MQTT中topic匹配规则基础
  18. CancerSubtypes包的介绍(根据生信技能树Jimmy老师分享的乳腺癌分子分型包资料整理)
  19. IAR编辑器字体配置
  20. UE4 动画重定向之使用同一套骨骼

热门文章

  1. 车辆遇险有eCall,eCall是什么?
  2. Agora声网 互动直播,pk,自定义渲染,路旁推流, 水晶球
  3. Coding and Paper Letter(四十五) 1
  4. upf学习之获取supply_net的状态
  5. CeresDAO:Ventures DAO的“新代言”
  6. Bro与Snort或Suricata对比
  7. TCP/IP:连接服务器失败(错误原因:Connection refused)
  8. 2021中国宏观经济形势分析与预测年中报告
  9. Web项目myeclipse和idear 中URl地址的输入
  10. 简单计算全息光路搭建