您好,欢迎来到叨叨游戏网。
搜索
您的当前位置:首页LeetCode 剑指 Offer 40

LeetCode 剑指 Offer 40

来源:叨叨游戏网

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,即可获取!

// 计数排序

class Solution {

public int[] getLeastNumbers(int[] arr, int k) {

int[] cnt = new int[10010];

for(int x:arr){

cnt[x]++;

}

int[] ans = new int[k];

int pos = 0;

for(int i=0;i<=10000;i++){

if(k==0) break;

if(k>=cnt[i]){

k -= cnt[i];

for(int j=0;j<cnt[i];j++){

ans[pos++] = i;

}

}else{

for(int j=0;j<k;j++){

ans[pos++] = i;

}

k = 0;

}

}

return ans;

}

}

// 快排

// class Solution {

// int ans[];

// int cnt = 0;

// void help(int[] a,int l,int r,int k){

// if(k==0) return;

// if(r-l+1 <= k){

// for(int i=l;i<=r;i++){

// ans[cnt++] = a[i];

// }

// return;

// }

// // 快排的基准值

// int base = a[l];

// int i = l, j = r;

// while(i<j){

// while(i<j && a[j]>=base) j–;

// while(i<j && a[i]<=base) i++;

// if(i<j){

// int temp = a[i];

// a[i] = a[j];

// a[j] = temp;

// }

// }

// a[l]= a[i];

// a[i] = base;

// // 小于等于基准值的个数

// int num = i-l+1;

// help(a,l,i,k);

// if(k>num){

// help(a,i+1,r,k-num);

// }

// }

// public int[] getLeastNumbers(int[] arr, int k) {

// ans = new int[k];

// help(arr,0,arr.length-1,k);

// return ans;

// }

// }

// //手工建堆

// class Solution {

// int[] ans,a;

// int n;

// // 维护小根堆的性质

// void down(int p){

// if(p>n) return;

// int left = 2p, right = 2p+1;

// int min_idx = p;

// if(left <= n && a[left]<a[min_idx]) min_idx = left;

// if(right <=n && a[right]<a[min_idx]) min_idx = right;

// if(min_idx != p){

// int temp = a[p];

// a[p] = a[min_idx];

// a[min_idx] = temp;

// down(min_idx);

// }

// }

// // 在本题中用不到

// void up(){

// }

// // 建立一个小根堆

// void buildMinHeap(){

// for(int i=n/2;i>=1;i–){

// down(i);

// }

// }

// int poll(){

// int top = a[1];

// a[1] = a[n–];

最后,附一张自己面试前准备的脑图:

面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典

  • Java核心知识整理

  • Spring全家桶(实战系列)

Step3:刷题

既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。

以下是我私藏的面试题库:

很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。

最后祝愿各位身体健康,顺利拿到心仪的offer!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,即可获取!
14510137231)]

很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。

最后祝愿各位身体健康,顺利拿到心仪的offer!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,即可获取!

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.net 版权所有 湘ICP备2024080961号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务