美团三面前端-凉经

我应该是有问题,好几次被面试官说不能理解xxx,不在同一服务器的感觉
最后给我的评价是,我应该是没怎么写过页面。。别的还好
但是看脸色应该是凉了
1.介绍项目难点
2.一道算法,超时了
换钱的最少货币数,不知道为什么超时,面试官也说看着有问题,本地是正常跑的,有没有大佬帮忙看一下
	

	
	
function minMoney( arr ,  aim ) {     let res=100000     let len=arr.length     let f=false;     function deep(timer,sum){         if(sum>aim)return;         if(sum===aim){res=Math.min(res,timer);f=true;return;}         for(let i=0;i<len;i++){             deep(timer+1,sum+arr[i])         }     }     deep(0,0)     return f?res:-1; }

4.问了学校经历
5.问了选择秋招公司的心理?选了哪些公司
7.对于未来的一个规划?

前面除了算法还好后面反问环境被怼很厉害,算法时候也一直说有问题但是我真的没找出来
另外对于我的实践肯定是有看法的,所以是凉经,如果面试官高抬贵手就点美团外卖吧。。。
#面经##美团##前端工程师##校招#
全部评论
我也是感觉代码有问题。我看你只有deep(timer+1,sum+arr[i])却没有deep(timer+1,sum)。你的意思是必须顺着换吗,不应该是比如,多加一个2块钱多了,那就不加,而是选择多加1块钱去试吗?我对你的那个for i的循环理解是,从第i个选项开始连续选?
1 回复 分享
发布于 2020-08-28 15:48
楼主你好,请问你是实习、校招还是社招?
点赞 回复 分享
发布于 2020-08-28 14:57
算法的空间复杂度给的n,时间给的n*m,所以一开始就没有去往dp想结果deep坑好像更大orz
点赞 回复 分享
发布于 2020-08-28 15:30
去力扣找了一个解答是动规优化的,emmm我感觉我那个的主要问题还是优化不到位,应该先排序然后从大的开始往小的找,最坏情况才会是我那个算法的情况,而且用了k还会少很多分支 var minMoney = function(coins, amount) {     if(!amount) return 0;     coins.sort((a,b) => b - a);     let ans = Infinity;//最小面值数     let len = coins.length;     coinChange(amount, 0, 0);//当前总金额,当前coins的下标,当前面值数     return ans === Infinity ? -1 : ans;     function coinChange(amount, index, count) {         if(!amount) {             ans = Math.min(ans, count);             return;         }         if(index === len) return;         for(let k = (amount / coins[index])|0; k >= 0 && k + count < ans; k --) {             //k + count < ans 优化剪枝             //k用来贪心思想             //k从(amount / coins[index])|0开始,所以不会小于0             coinChange(amount - k * coins[index], index + 1,count + k);         }     } };
点赞 回复 分享
发布于 2020-08-28 16:30
请问是零钱找零那道吗
点赞 回复 分享
发布于 2020-08-28 20:48
朋友  你过了吗
点赞 回复 分享
发布于 2020-09-01 17:17

相关推荐

10-13 17:47
门头沟学院 Java
wulala.god:图一那个善我面过,老板网上找的题库面的
点赞 评论 收藏
分享
11-05 07:29
贵州大学 Java
点赞 评论 收藏
分享
3 9 评论
分享
牛客网
牛客企业服务