久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式招聘 > 嵌入式面試題 > cvte2019秋招面試編程題(有嵌入式研發崗)

cvte2019秋招面試(shi)編程題(ti)(有嵌入(ru)式(shi)研(yan)發崗) 時(shi)間:2018-07-31      來源:未(wei)知
cvte這個公司還不錯,在廣州,菜鳥進入這個公司從校招渠道比較好進,當然校招也是要面試編程方面的題,如果在學校好好學了,或者培訓過的同學,對于你們而言很簡單。近期有朋友跟我講他有cvte2019秋季的校招面試題,因此分享一下。

package package_20180720;
 
/**
 * 
 * @author 康茜
 * 合并兩個有序數組交(從大到小排序)
 *
 * 分析:合并兩個有序數組,這里的關鍵點在于有序,如果是平常的合并數組的話,我們只需要用for循環將兩個數組中的元素加入到一個數組中,
 *然后再對這個新數組進行排序(排序方式有很多中,選擇合適的就行);但是現在我們多了一個條件 “有序”,即兩個子數組中的元素是排好順序的,
 *那么我們如果將它安照無序的狀態進行處理的話,會使程序的性能下降。
 *現在來分析一下新思路:既然兩個數組有序,那么我們可以比較兩個數組的首元素,將首元素較大的放入新數組,然后移動指向子數組的指針,使其指向
 *該數組的下一個元素。下面我用程序實現這一思路。
 */
public class Main2 {
/**
* @param ary1 有序子數組1
* @param ary2 有序子數組2
* @return 合并之后的數組
*/
public static int[] merge(int[] ary1, int[] ary2) {
int[] result = new int[ary1.length + ary2.length];
 
int i = 0;//子數組1的下標
int j = 0;//子數組2的下標
int k = 0;//合并數組的下標
 
//通過while循環先將一個子數組給全部放入新數組中
while(i < ary1.length && j < ary2.length) {
//通過這個if判斷將有序數組從大到小或從小到大排序
if(ary1[i] > ary2[j]) {
result[k++] = ary1[i];
i++;
} else {
result[k++] = ary2[j];
j++;
}
}
 
//根據下標將剩余部分的數組按照順序依次復制到新數組中
while(i < ary1.length) {
result[k++] = ary1[i++];
}
while(j < ary2.length) {
result[k++] = ary2[j++];
}
 
return result;
}
 
public static void main(String[] args) {
int[] ary1 = {99, 92, 87, 80};
int[] ary2 = {98, 90, 82};
// int[] ary3 = {1, 2, 3, 4};
// int[] ary4 = {2, 5, 7};
 
int[] ary = merge(ary1, ary2);
for(int i = 0; i < ary.length; i++) {
System.out.print(ary[i] + "  ");
}
}
}

package package_20180720;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
 
/**
 * 
 * @author 康茜
 * ID生成器:
 * 題目描述:要求每次生成一個不重復的長度為4的字符串,該字符串由字符0~9,a~z,A~Z組成,
 * 需要實現一個生成ID 的方法及一個返回當前生成ID總數的方法。
 *
 */
public class Main3 {
private static String sourceString;
private static int length;
private static List<String> list;
private static int num;
private static Random random;
static {
sourceString = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
length = sourceString.length();
list = new ArrayList<>();
num = 0;
random = new Random();
}
 
/**
* 生成一個長度為4的id
* @return ID
*/
public static String generate() {
StringBuffer result = new StringBuffer();
for(int i = 0; i < 4; i++) {
int index = random.nextInt(length);//返回一個大于等于0,小于length的整數
char ch = sourceString.charAt(index);
result.append(ch);
}
if(list.contains(result.toString())) {
System.out.println("當前生成的字符串與之前重復,重新生成……");
return generate();
} else {
list.add(result.toString());
num++;
return result.toString();
}
}
 
public static int getNum() {
return num;
}
 
public static void main(String[] args) {
System.out.println(generate());
System.out.println(generate());
System.out.println(generate());
 
System.out.println(getNum());
}
}

上一篇:沒有了

下一篇:嵌入式工程師面試題寶典,過來人總結

熱點文章推薦
華(hua)清學(xue)員就業榜單(dan)
高薪學員經驗分享
熱點新聞推薦
前(qian)臺專線:010-82525158 企業培訓(xun)洽談專線:010-82525379 院校(xiao)合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部