比较有创意的面试题集锦

本文汇集了一些创新的面试题,涵盖异或思维和数组问题。例如,如何在成对存在的数组中找出唯一插入的数,如何在数组中找到特定和的数对,以及解决四人过桥的最短时间问题。还涉及如何通过随机函数生成不同概率的数字。
摘要由CSDN通过智能技术生成

一、异或思维

       1.1 在成对存在的数组中(即数组中的每个数必然存在另一个与其值相等的一个数),被程序员误插入了一个数(即该数在这个数组中唯一),如何找出这个数?

       答案:将所有数化为二进制,做异或。

       1.2 在成对存在的数组中(即数组中的每个数必然存在另一个与其值相等的一个数),被程序员误插入了两个数(即这两个数在这个数组中都是唯一),如何找出这两个数?

       答案:异或所有数,所得结果相当于混入的这两个数的异或,取其不为0的某一位,按照这一位将数组元素分成两组(一组为0,一组为1),两组组内异或,分别得到这两个数。

二、数组相关

       2.1 给定一个数组a[],一次遍历在其中找出最大(最小)的元素。

       ​​​​​​​答案:冒泡排序。

       ​​​​​​​2.2 给定一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值