几个论坛上看到的2015小米笔试题

一、

题目描写叙述

大家对回文串不陌生吧?一个字符串从前看和从后看假设一样的话。就是回文串。比方“上海自来水来自海上”就是一个回文串。

如今我们的问题来了。把一个数字看成字符串,问它是不是一个回文数?时间复杂度和空间复杂度越低的算法,得分越高。

c++:

bool isPalindromeNumber(long num);

java:

boolean isPalindromeNumber(long num);

解题思路

1、将long转换为字符串。从头和尾向中间扫描就可以

2、每次取出头尾的数字,比較,然后去掉头尾

3、取出每一位放入栈中,再弹出组成一个新数。和原数比較

二、

题目描写叙述

求两个多项式的乘积

pa=an*x^n + an-1*x^(n-1) + ... + a1*x + a0;

pb=bm*x^n + bm-1*x^(n-1) + ... + b1*x + b0;

当中,an,an-1...a1,a0,bm,bm-1...b1,b0都是整数,范围是[-1000,1000],0<=n,m<=1000。pa*pb的结果也是多项式。请你设计怎样表示一个多项式,并写出两个多项式相乘的程序。

c++:

string multiplyPloynomial(const string&pA,const string&pB);

java:

String multiplyPloynomial(String pA,String pB);

当中pA和pB的格式都是“(-3,5),(87,4),(93,3),(3,0)”。表示一个多项式为-3*x^5 + 87*x^4 + 93*x^3 + 3。

输入都是合法的。除了数字,左右括号和逗号没有别的不论什么字符。而且幂次都是从高到低排列的,输出也要求是这种标准格式。

解题思路

採用链表来表示多项式,由于假设用数组有可能遇到稀疏问题。同一时候链表能够动态加入节点。

相乘时,採用hashmap来保存两两相乘的结果,最后在扫描一遍hashmap就可以构造出多项式

三、

这题应该是关于图的。偷懒了~~~图不怎么会

时间: 2024-10-04 03:28:54

几个论坛上看到的2015小米笔试题的相关文章

送上今年微软的一道笔试题

这里送上一道微软的笔试题,具体题目如下: Time Limit: 10000msCase Time Limit: 1000msMemory Limit: 256MB Description Consider a string set that each of them consists of {0, 1} only. All strings in the set have the same number of 0s and 1s. Write a program to find and outp

小米笔试题

题目:世界上有10种人,一种懂二进制,一种不懂.那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么? 输入例子: 1999 2299 输出例子: 7 背景知识:将两个二进制数变成等长(较短的那个高位补0),然后将两个二进制数进行按位“异或”,结果中为1的那些位,就是这两个二进制数不同的位. 在计算机中的数据的保存和运算都是以二进制的形式进行的,但不是直接的原码,而是原码的补码,也就是说在计算机中,数据的运算都是以数据的补码进行的. 异或: 异或(xor)是一个数学运算符.

小米笔试题中遇到的关于学生成绩查询的几个SQL语句

数据库有三个字段,名字.学科.成绩,如图 1. 找出每科成绩最高的学生的名字与分数 2.找出总分最高的学生名字与总分 3.找出三科成绩均大于80分的学生

阿里巴巴 2015 实习笔试题 分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出

分布式系统中的RPC请求经常出现乱序的情况. 写一个算法来将一个乱序的序列保序输出.例如,假设起始序号是1,对于(1, 2, 5, 8, 10, 4, 3, 6, 9, 7)这个序列,输出是: 1 2 3, 4, 5 6 7, 8, 9, 10 上述例子中,3到来的时候会发现4,5已经在了.因此将已经满足顺序的整个序列(3, 4, 5)输出为一行. 要求: 1. 写一个高效的算法完成上述功能,实现要尽可能的健壮.易于维护 2. 为该算法设计并实现单元测试 貌似效率不是很高,有时间的时候改进下.

百度2015校招笔试题(头巾问题)

有三个白人被一个印第安人反对部落俘虏了.部落的首领愿意把他们放了,所以他把他们领到一根没有亮光的帐篷里.他给了每人一条头巾(他有5条头巾,3白2红,所以有2条是没有用到的).然后他们排着队出去.这样,每个人都可以看到前面人的头巾颜色,但是看不到自己头巾的颜色(第一个走出去的看不到任何头巾,第二个可以看到第一个人的头巾,第三个人可以看到前面两个人的头巾).如果其中一个人说出了自己头巾的颜色,那么所有人都可以被放了.几分钟的沉默后,其中一个人说:”我头巾的颜色是...”.然后他们就被放了.问题是第几

小米笔试题(动态规划)

风口之下,猪都能飞.当今中国股市牛市,真可谓“错过等七年”. 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价. 假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票.若两次交易机会都放弃,收益为0. 设计算法,计算你能获得的最大收益. 输入数值范围:2<=n<=100,0<=prices[i]<=100  输入例子: 3,8,5,1,7,8  

求出对应N的所有合法匹配括号 (DFS)---小米笔试题

给定N对括号,输出其所有的合法的组合状态,例如,N=3,所有的合法状态为:"((()))", "(()())", "(())()", "()(())", "()()()": 解析: 还是深搜DFS的思路,深搜的过程关键在于记录已经用掉的左括号个数和右括号的个数,当用过的左括号个数小于右括号则非法:当二者个数和大于2N则非法:当二者个数相等且数目等于2N则为合法. 代码如下: #include <ios

阿里巴巴java研发2015实习笔试题--生产者消费者并发线程安全

import java.util.ArrayList;import java.util.List;/** * 箱子最多装5个苹果.一个人往里放,一个人往外拿.苹果无限. * @author Administrator */public class test01 { public static void main(String[] args) { // 共享资源 Production pro = new Production(); Custom custom = new Custom(pro);

小米笔试题:无序数组中最小的k个数

题目描述 链接:https://www.nowcoder.com/questionTerminal/ec2575fb877d41c9a33d9bab2694ba47?source=relative 来源:牛客网 无序数组中最小的k个数 对于一个无序数组,数组中元素为互不相同的整数,请返回其中最小的k个数,顺序与原数组中元素顺序一致. 给定一个整数数组A及它的大小n,同时给定k,请返回其中最小的k个数. 测试样例: [1,2,4,3],4,2 返回:[1,2] 代码 需要保留K个较小的元素,可以删