我的智商应该 是没问题,至少表现在各种智力题,比如前几天联想的笔试题,求月份的题目,被我解出来了之后,小伙伴一遇到智力题就找我,还是受大家认可的,Good Brain!可是昨天那道面试题居然当时没想到,难道是当时短路了?
面试出来,被冷风一吹,瞬间想起来怎么做了!
原题在网络上也有,我写在我的博客里面,不会提到公司名称,应该不算泄密。
原题描述:给一个m*n的小正方形组成的大矩形(m>n),问这里面有多少个正方形?
我以为是要写程序求解(在这个题目之前写了一个编程题),然后我的直接想法就是用程序怎么办?折腾了半天,没写出程序!
然后面试官换了个问题,有多少个矩形?
我一开始想着从一个维度找:1,2,3, ~, n,然后从另外一个维度:1,2,3,~,m,总共(1+2+~+n)*(1+2+~+m),归纳一下。
这个答案我给出来了,第一个题目的答案其实也是类似的,用分割的方法(两条横向的直线,两条纵向的线段围成一个矩形),正方形要求有一个限制,就是长河宽是一样的,而且题目中m和n是不等的。
正方形的面积最大是nn
边长为1:mn;
边长为2:(m-1)(n-1);
边长为3:(m-2)(n-2);
边长为k:(m-(k-1))*(n-(k-1))
边长为n:(m-n+1)*(1)
边长为n:(m-(n))*(1)
边长为n:(m-(m-t))*(1) 1<=t<=m-n
边长为n:(m-(m-1))×(1)
脑子短时不好使!!!