zoukankan      html  css  js  c++  java
  • 分享三道面试的算法题

    第一道(B):在北京有N个工区,形成一个环状,Bytebus是往返在各个工区的通勤车,按工区的顺序行驶,其中第 i 个工区有汽油 gas[i] 升。

    你有一辆油箱容量无限的的Bytebus,从第 i 个工区开往第 i+1 个工区需要消耗汽油 cost[i] 升。你从其中的一个工区出发,开始时油箱为空。如果你

    可以绕环路行驶一周,则返回出发时工区的编号,否则返回 -1。

    输入:

    gas = [1,2,3,4,5]

    cost = [3,4,5,1,2]

    输出: 3

    第二道:现有1000瓶药,其中999瓶无毒,只有一瓶有毒。已知小白鼠喝了毒药1小时后会死,现给你10只小白鼠,和1个小时的时间,让你找出有毒的那瓶药。说明:每一瓶药的量足够每只小白鼠同时服用,喂药时间可以忽略,小白鼠的胃足够大,可以喝很多瓶。

    第三道(T):车可以左转,右转,前移,车的位置由一个x,y系坐标系和一个朝向确定。地理方向的N,S,W,E分别表示上下左右。

    示例:位置坐标X=0,Y=0,N。表示车在坐标系的原点,面朝上。

    为控制车的动作,需传送一串简单的字母。传送的字母为:L、R 和M。L 和R 分别表示使车向左、向右旋转90度。但不离开它所在地点;M 表示向前开进一个单位的距离,且保持方向不变.

    期待输入:

    第一行输入车的初始化大小为 X=10,Y=10,N

    第二行输入指令 MMLMMR

    期待输出:

    车的坐标及方位 X=8 , Y=12, N

    要求:

    1、注意代码的质量

    2、不能有重复代码

    3、使用面向对象编程

    参考:blog.csdn.net/hongmin118/…

    其中答案,先自己想一下。我觉得一般人都能使用暴力破解得到最终答案,但是在面试的机试阶段,面试官喜欢那种时间复杂度和空间复杂度都是最小的结果。因为我是普通人,所以先想到的就是先把问题解决了。说不定你比我更聪明,如果最终没有想到答案,可以度娘一下。



  • 相关阅读:
    _mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h':问题的解决
    pycharm 插件的升级
    机器学习
    Python三大神器
    印记中文
    Emacs, Nano, or Vim 编辑器“三剑客”
    码云-中国的github
    代码质量管控的四个阶段
    <<创新之路>> 纪录片观后感
    API (Application Programming Interface) 文档大全
  • 原文地址:https://www.cnblogs.com/happyhuangjinjin/p/13797206.html
Copyright © 2011-2022 走看看