面试题 猫吃老鼠

猫大叫一声 主人被惊醒 老鼠被下跑 (C#经典案例面试题) 猫大叫一声,主人被惊醒,老鼠被下跑。用C#实现这个过程。该题目经常被C#.net面试中设计成重要面试设计题,不管是用C#实现该过程还是抽象成一个game原型,仔细想想这个场景是不是跟老板监视办公室员工玩游戏类似,老板亲自或指派某人或通过软件工具来监视员工打游戏,一端员工开始打游戏,那么老板的那个“监视器”事件被触发,老板就知晓了。                   该实例场景中有三个对象分别为 阅读详情

明天,单位要来新人面试,以前的机试题,感觉太简单了,于是加工了一下,如下:

       题目:M只老鼠排成一圈,猫从第一只开始每隔N只吃一只老鼠。                                   

       要求:(1)显示猫吃老鼠的过程

                 (2)问最后剩下的老鼠是?

                       (3)用面向对象的方法实现

 

今天太晚了,明天分析一下这个题的详细解法。

————————————————————————————————————————————————————————————————

今天的面试结果 差强人意,来了好几个,没有到80分的,现在的学生,毕业好几年了,代码还是一团糟。好了,具体分析一下,做个随笔记录

 

分析:

(1)、此问题可归结为“约瑟夫环”问题变异,但是要求用面向对象的方法求解,那么就不是考算法效率问题,所以只用一个算法来实现该问题,不论实现与否,效率高低,得分为零;

(2)、既然要求面向对象实现,那么用到的面向对象方法越多,越合理,得分越高;

(3)、具体分析:猫吃老鼠,首先要有一个猫类(Cat)和一个老鼠类(Mouse),其次由M只老鼠组成一个圈,那么还应该有一个老鼠队列类(MouseQueue),这些类构成我们解决问题的基础;猫怎么吃老鼠,即规则判断,那么应该有一个逻辑判断类Logic;多少只老鼠组成一圈,用什么规则吃,属于用户定义,那么应该有一个UI类;通过分析我们可以得到:基础类3个(Cat、Mouse和MouseQueue),逻辑处理类一个(Logic)和UI类一个,这也正是我们的典型的三层架构模式,如果程序能实现到这一步就可以得到65分了;

(4)、那么剩下的25分呢,我们继续分析,分解问题:

          假设猫能吃掉的老鼠为普通老鼠,不能吃掉的为超级老鼠;

          将M只老鼠排成一队,开始出洞,普通老鼠被吃掉,超级老鼠没有被吃掉继续入队,等待下次出队;

          那么超级老鼠如何产生,则由规则N来确定;

          问题分解完成,猫守在洞口,观察老鼠是否出来,确定老鼠类型后,进行吃的操作;

          问题分析到这里,我们会想到模式设计里的观察者模式正好能满足要求,观察者:猫;目标:老鼠队列;老鼠出队触发跑步动作,猫观察到老鼠的动作后,将老鼠捕获。问题实现到这里可以得到80分了;

(5)、既然面向对象,抽象出的接口必不可少,问题实现到这里可以得到90分了;

(6)、剩下的10分中的9分我们给了UI,因为良好的界面,会让人赏心悦目嘛;

(7)、最后的1分是没有的,现实世界没有十全十美的东西,同理我们的软件开发也没有完美的架构、方法。

   有演示程序一个 怎么发附件啊????

信息论之老鼠试毒问题 信息论的老鼠试毒问题 阅读详情

相关推荐

基于VC++的猫捉老鼠游戏

本程序是在一个房间里猫捉老鼠的游戏。通过键盘上的上、下、左、右方向键控制一只猫,十只老鼠在窗口中自由活动,可随时改变行走方向,遇窗口边界则改变方向。猫碰到老鼠后就吃掉它(该鼠不再显示)。若猫吃掉所有老鼠,游戏结束并显示游戏所剩时间;若时间用完,猫没有吃掉所有老鼠, 游戏结束并显示所剩老鼠数目。

基本功练习_3_3_之(C++回顾)

“四支老鼠抬花轿,一支老鼠放鞭炮,前面两只当鼓手,咚隆咚隆真热闹,这时老猫来贺喜,一只一只全吃掉。”。这首儿歌描述了老鼠婚嫁的场面。完成下面两个问题: (1) 就这段描述,找出所有可能对象,用C++定义相应的类,用文字说明各成员数据和函数的作用,不需给出成员函数的实现。 参考答案:        可以有两个对象:老鼠和猫        可以用C++定义一个老鼠类和一个猫类; 老鼠类的的数

ASB->EMBEDDED->ZIGBEE->RFID->FPGA->SYSTEM 1162

猫和老鼠 安卓(附带源码)

猫和老鼠 安卓开发小游戏(附带源码) 适用于刚刚学习游戏开发的android爱好者

约瑟夫环问题

最近看到一道题目,也就是约瑟夫环的变体,题目如下:一只猫抓住了n只老鼠,其将老鼠排成一圈,依次按照1~m报数,报m值的吃掉,直到只剩下一只老鼠时,猫将其放生,求获生的老鼠编号。

spirit的博客 573

Robosuite实战:通过Xbox手柄实现机械臂6-DoF精准控制的完整指南

本文详细介绍了如何通过Xbox手柄实现机械臂的6-DoF精准控制,结合Robosuite仿真环境与MuJoCo物理引擎,提供从环境配置到代码实现的完整指南。文章重点解析了手柄映射原理、核心控制代码以及数据采集优化技巧,帮助开发者高效完成机械臂控制任务。

weixin_29169505的博客 419

Utrust4701F与Utrust2700R读写器在银河麒麟系统的安装及测试步骤说明

Utrust4701F与Utrust2700R读写器支持银河麒麟系统,广泛应用会员管理、支付管理等领域。本文将重点介绍Utrust4701F与Utrust2700R读写器在银河麒麟系统的安装及测试步骤说明。以上方法适用于主流国产操作系统,如 优麒麟(UbuntuKylin)/ 中标麒麟(NeoKylin) / UOS(统信操作系统)/ 中兴新支点 / 红旗 linux(redflag linux)/ 普华 Linux(I-soft OS) / 威科乐恩 Linux(WiOS)等

华翔天诚科技 1833

猫吃老鼠c语言,面试题目:猫吃老鼠问题的求解算法改进

一、问题描述 现有n个老鼠围成一圆圈,有一只猫从任意位置开始吃老鼠,每次都隔一个老鼠吃,请给出最后一个老鼠的编号?题目要求是任给老鼠数n,输出猫最后吃的老鼠的编号。二、代码说明#include #include using namespace std;int fun1(int itotal);int main(){cout<int itotal;//老鼠总数cin>&g...

weixin_42222501的博客 503

3D-IC测试挑战与Tessent解决方案解析

3D-IC技术通过硅通孔(TSV)实现芯片垂直堆叠,是延续摩尔定律的关键路径。该技术面临三大核心挑战:KGD标准严苛化要求测试覆盖率达99.5%以上,存储器测试需兼容LPDDR/HBM等多种协议,逻辑堆叠需解决TSV互连的电气特性和时序验证问题。Mentor Tessent平台采用混合测试架构,结合压缩扫描测试(ATPG)和内建自测试(BIST)技术,实现100x测试数据压缩比和99.97%的TSV缺陷检出率。这些创新方案在移动SoC和高性能计算芯片中已获验证,测试时间缩短73%,缺陷逃逸率降低77%。随着

weixin_30621711的博客 376

猫吃老鼠算法

曾经一道面试题, 大概意思是:有一只很强大的猫咪,喜欢把抓来的n只老鼠们排成一个队列,然后设一个步长值k,先吃掉第一只后,再每隔k只再吃, 吃完一轮后再按上面规则重新开始下一轮,直到剩下最后一只老鼠为止,猫咪为了保持生态平衡就放了这只老鼠~ 有只老鼠很聪明,他能很准确的计算出最后放生的位置,请用程序写出来。 例如:n=10,k=1时,8号位置的老鼠是存活的;n=6,k=1时,4号存活。 n

程序员 1425

在pycharm2021.2中学习opencv图像处理,基于python3.9.7、pycharm完成配置

在pycharm中学习opencv图像处理安装python下载python安装包开始安装安装pycharm社区版下载pycharm开始安装如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 安装python 使用pycharm学习opencv应该是最简单的了,对新手比较友好,

steveqobs 7707

高效爬取懂车帝车型数据:从静态解析到动态反爬实战

本文详细解析了如何高效爬取懂车帝车型数据,从静态HTML解析到动态接口反爬的完整实战路径。文章重点介绍了使用浏览器开发者工具定位数据、应对CSS混淆与参数加密等反爬策略,并提供了整合静态与动态抓取逻辑的Python代码示例,帮助开发者稳健地获取结构化车型信息。

wind6的博客 937

猫和老鼠

/* 作业: “四支老鼠抬花轿,一支老鼠放鞭炮,前面两只当鼓手,咚隆咚隆真热闹,这时老猫来贺喜,一只一只全吃掉。”。 这首儿歌描述了老鼠婚嫁的场面。完成下面两个问题: (1)就这段描述,找出所有可能对象,用C++定义相应的类 (2)在main函数中,用你定义的类产生对象,并用这些对象尽可能地模拟出儿歌中描述的场面。 */ /*main.cpp*/ #include"Mouse.h" #inc...

qq_36531128的博客 592

YOLO11改进 - 卷积Conv | DEGConv(方向引导边缘门控卷积) : 空间分块、方向先验、轻量边缘增强

本文介绍了方向引导边缘门控卷积(DEGConv),一种专为增强边缘敏感度与方向感知能力设计的轻量级模块。该方法通过 Sobel 算子生成方向嵌入,结合条纹卷积提取水平与垂直边缘特征,并利用门控机制动态抑制背景噪声,从而精准捕捉细粒度结构。我们将 DEGConv 成功集成进 YOLO11,在 Backbone 的 SPPF 后及 Neck 的 P3、P4 分支中引入该模块以优化特征提取。实验证明,集成 DEGConv 的 YOLO11 在检测任务中表现优异,有效提升了模型对复杂边缘与方向特征的建模能力。

魔改工程师的博客 676

java 猫 老鼠_Java面试题:猫吃老鼠问题

问题:现有n个老鼠围成一圆圈,有一只猫从任意位置开始吃老鼠,每次都隔一个老鼠吃,请给出最后一个老鼠的编号?题目要求是任给老鼠数n,输出猫最后吃的老鼠的编号。我的解法:1.简单的方法就是模拟这个过程。使用一个数组代表老鼠是否被吃掉,循环遍历。2.改进一下的方法,其实这个问题就是一个m=2的约瑟夫环问题。package com.easyProblem;/** 现有n个老鼠围成一圆圈,有一只猫从任意位置...

weixin_36170766的博客 426

基于MATLAB的拉盖尔-高斯光束叠加相位模拟

首先,我们需要设置模拟所需的参数,如光腰半径、传播距离、光束的角动量等。其中,(U)表示光束的电场复振幅,(r)和(\phi)分别是极坐标系下的径向和角向坐标,(z)是传播距离,(A)是归一化系数,(w_p)是光束的光腰半径,(L_p^q)是拉盖尔多项式,(k)是波数,(l)是光束的角动量。通过修改模拟参数,如光腰半径、传播距离、角动量等,您可以进一步探索和理解拉盖尔-高斯光束的叠加相位效应。拉盖尔-高斯光束是一种特殊的光束模式,具有广泛的应用领域,包括光学信息处理、激光加工和量子光学等。

m0_47037246的博客 945

基于YOLOv8的植物生长阶段识别系统设计与实现

本文详细介绍了一个基于YOLOv8深度学习模型的植物生长阶段识别系统,包含完整的数据集构建、模型训练、评估以及基于PyQt5的用户界面开发过程。系统能够自动识别植物在不同生长阶段(如发芽期、生长期、开花期、结果期等)的形态特征,为精准农业和智能种植提供技术支持。文章提供了完整的代码实现,并讨论了模型优化策略和实际应用场景。关键词:植物生长阶段识别、YOLOv8、目标检测、PyQt5、深度学习。

YOLO 465

Java面试题:猫吃老鼠问题

 问题:现有n个老鼠围成一圆圈,有一只猫从任意位置开始吃老鼠,每次都隔一个老鼠吃,请给出最后一个老鼠的编号?题目要求是任给老鼠数n,输出猫最后吃的老鼠的编号。  我的解法:1.简单的方法就是模拟这个过程。使用一个数组代表老鼠是否被吃掉,循环遍历。2.改进一下的方法,其实这个问题就是一个m=2的约瑟夫环问题。 package com.easyProblem;/*

影の聚宝盆 2493

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java 猫吃鱼_Java面试题:猫吃老鼠问题

问题:现有n个老鼠围成一圆圈,有一只猫从任意位置开始吃老鼠,每次都隔一个老鼠吃,请给出最后一个老鼠的编号?题目要求是任给老鼠数n,输出猫最后吃的老鼠的编号。我的解法:1.简单的方法就是模拟这个过程。使用一个数组代表老鼠是否被吃掉,循环遍历。2.改进一下的方法,其实这个问题就是一个m=2的约瑟夫环问题。package com.easyProblem;/** 现有n个老鼠围成一圆圈,有一只猫从任意位置...

weixin_30147611的博客 252

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

java哪个选项输出猫吃鱼_Java面试题:猫吃老鼠问题

问题:现有n个老鼠围成一圆圈,有一只猫从任意位置开始吃老鼠,每次都隔一个老鼠吃,请给出最后一个老鼠的编号?题目要求是任给老鼠数n,输出猫最后吃的老鼠的编号。我的解法:1.简单的方法就是模拟这个过程。使用一个数组代表老鼠是否被吃掉,循环遍历。2.改进一下的方法,其实这个问题就是一个m=2的约瑟夫环问题。package com.easyProblem;/** 现有n个老鼠围成一圆圈,有一只猫从任意位置...

weixin_34840783的博客 227

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

主人、猫、老鼠编程面试题

猫叫,老鼠逃跑,主人惊醒。 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言) 要求:  1.要有联动性,老鼠和主人的行为是被动的。        2.考虑可扩展性,猫的叫声可能引起其他联动效应。 思路: 1、  主题,它可以有多个观察者,本题只有两个,用一个ArrayList对象(observersList)来存放观察者,并要求可以增加和删除它的观察者,即方法At

xuliping的专栏 1108

面试官:如何用最少的老鼠试出有毒的牛奶?

面试题有 n 桶牛奶,其中有 1 桶有问题,老鼠喝了后第二天会死掉。如何用最少的老鼠测出有问题的那瓶牛奶?答案把 n 转换成二进制,二进制的长度就是对应老鼠的个数操作方案为了方便演示假设...

dam454450872的博客 8403

经典面试题【老鼠喝水】

我们有很多瓶无色的液体,其中有一瓶是毒药,其它都是蒸馏水,实验的小白鼠喝了以后会在5分钟后死亡,而喝到蒸馏水的小白鼠则一切正常。现在有5只小白鼠,请问一下,我们用这五只小白鼠,5分钟的时间,能够检测多少瓶液体的成分?

猫轻王的博客 2668

由"猫,老鼠和主人"引出的委托,事件及观察者模型问题

这是一道非常经典的面试试题.在网上讨论的帖子很多,一些网友给出了十分精彩的解答.这里也只是其中一个比较精简的答案而已.虽然精简,但却通过简单的代码反映了许多人一直不是很清晰的委托,特别是事件的定义和注册问题,也简单涉及了观察者模型的问题. using System; namespace CatRatAndHost//猫,老鼠和主人,有趣的委托,事件及观察者模型问题 {     cl

Lucker's PowerSpace 1376

7只老鼠测试100个瓶子

起源   今天,休息的时候同事虎哥给我们说了一个很有意思的问题:有100个瓶子,瓶子里面乘着水,其中有一个瓶子里面的水是有毒的。还有七只老鼠,老鼠喝了有毒的水,七天会死掉。现在给你七天的时间,然后让你用这七只老鼠将这些瓶子里面有毒的那个瓶子测试出来,怎么做?   据说这个问题是某个比较大的公司的一个面试题。对这个问题很感兴趣的,于是,下班回家后就开始研究这个问题,想到了现在(除去中间打了一把红

liuyu5210的博客 9059

关于逻辑算法的一道经典面试题【老鼠喝水】

前段时间有去面试,面试官给我出了一道题,想想比较经典就写下来了。 题目:说有1000瓶水,只有1瓶水里有毒药,当老鼠喝了瓶里的水后59分钟后老鼠才会死亡,你只有一个小时时间,请问: 【1】如果你有1000只老鼠请问怎么测试才能测出哪瓶水里有毒? 【2】如果你仅有100只老鼠请问你该怎么测? 【3】如果你仅有10只老鼠呢? 答案: 【1】1000只老鼠当然可以一只老鼠对应一瓶水,59分钟...

亭有枇杷树 1822

Java猫叫老鼠跑人惊醒_面试题:猫叫、老鼠跑、人醒的一点看法

这些天一直在面试中,做着不同的面试题,唉,悲催上周做的一道面试题今天正好出现在园里的首页,看了一下这位同学的实现,基本上方向是对的,就是代码上细节没有注意,有一些错误,这里我就写一下我的理解---------------------------C#面试题:猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。要求:1、要有联动性,老鼠和人的行为是被动的2、考虑可扩展行,猫叫声可能会引起其他联动效应----...

weixin_35130561的博客 455
下一篇: C#窗体飞入飞出的动画效果(Api)
AscCode
博客等级 码龄15年 1粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值