猿题库面试总结

整体而言:这次面试还是收获了一些东西。深深的领悟到自己算法能力的欠缺。其实还是有很大的遗憾的。上来就是两道算法题,直接写算法。项目啥的根本不在意。

最坑爹的是两道算法题都不难,然而由于种种原因当时都没写好:各种原因(旁边再谈论诱人的工资,做了3个小时的车,头晕晕的,好吧不找借口,还是没有准备好)后面听同学说题目基本都是出自leetcode

首先第一题:

给定一个矩阵:然后由外到内依次输出

如下图:



```private static int[][] a={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};

public static void P(intm,intn,intk){if(m<0|| n<0){return;

}for(inti=k;i

System.out.println(a[k][i]);

}for(inti=k+1;i

System.out.println(a[i][n-1]);

}for(inti=n-2;i>=k;i--){

System.out.println(a[m-1][i]);

}for(inti=m-2;i>k;i--){

System.out.println(a[i][k]);

}

P(m-1,n-1,k+1);

}

```

第二题:

说是给定N元钱,然后又 1,3,5,7单位的钱,问有多少种兑换方法

当时直接写了个递推式

a[n]=a[n-1]+a[n-3]+a[n-5]+a[n-7]这个递推式其实也是有意义的。就是在有序的情况下

比如爬楼梯,一次可以爬 1阶,3,5,7 等,然而这里是无序的

当时也是各种原因脑子不转了。回来之后想起来了,dp 显然应该有两个维度,好遗憾

默默的伤心。。。。

递推式如下:

```

a[i][j]=a[i-1][i]+a[i][i-coin[i]]

private int[][] a=newint[100][10000];

private int[] coin={0,1,3,5,7};

public void getNumberSplit(intn,intk){

for(inti=0;i<=n;i++)a[i][0]=1;

for(inti=1;i<=k;i++){

for(intj=0;j<=n;j++){

if(j>=coin[i])a[i][j]=a[i-1][j]+a[i][j-coin[i]];

elsea[i][j]=a[i-1][j];

}

}

System.out.println(a[k][n]);

}

```

顺便说一句:我投的是数据研发:我说我擅长hadoop ,然而一点都不问。只问算法题,打的不好,一棒子打死。。。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 5,166评论 0 41
  • 一、 1、请用Java写一个冒泡排序方法 【参考答案】 public static void Bubble(int...
    独云阅读 1,421评论 0 6
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • 打开手机微信,朋友圈里有人发文:待水露散去,便阳光明媚。不知为何,竟为这一句话而湿了眼。 配图是随意在哪个街心花园...
    闲茶淡花阅读 708评论 0 4
  • 嗯。每天都在坚持锻炼,热身20分钟跳绳40分钟拉伸30分钟……虽然不知道会瘦几斤,也清楚的知道自己依然控制不了美...
    闲敲棋子落灯花儿阅读 219评论 0 0