Java算法--小紅書真題
第一道題
數(shù)組里有0和1、一定要翻轉(zhuǎn)一個(gè)區(qū)間、
“翻轉(zhuǎn)”:0變1,1變0
請問翻轉(zhuǎn)后可以使得1的個(gè)數(shù)最多是多少?
//子數(shù)組最大累加和 public static int process(int[] array) { for(int i = 0; i < array.length; i ++) { array[i] = array[i] == 1 ? -1 : 1; } int pre = array[0]; int result = array[0]; for(int i = 1; i < array.length; i ++) { pre = Math.max(array[i], pre + array[i]); result = Math.max(result, pre); } return result; }
第二道題
一個(gè)無序數(shù)組長度為n,所有數(shù)字都不一樣,
并且值都在[0........n-1]范圍上
返回讓這個(gè)無序數(shù)組變成有序數(shù)組的最小交換次數(shù)
public static int process(int[] array) { int result = 0; for(int i = 0; i < array.length; i ++) { while(array[i] != i) { swap(array, array[i], i); result ++; } } return result; } public static vo
剩余60%內(nèi)容,訂閱專欄后可繼續(xù)查看/也可單篇購買
八股文+場景題+算法真題 文章被收錄于專欄
Java全新整理八股文 + 場景題 + 算法 精心設(shè)計(jì),面試命中率超過80% 專欄優(yōu)勢: 1、問題和答案已經(jīng)整理到位,答案更專業(yè),可以直接回答,不需要額外總結(jié)! 2、場景題講解清晰,適用于大部分場景的項(xiàng)目,并且持續(xù)更新中 3、分享學(xué)習(xí)心得【知識點(diǎn)的廣度和深度,算法有哪些坑,如何準(zhǔn)備面試等等】