《一线大厂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面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!