2019騰訊春招正式批筆試


開發崗位筆試題(4月5日)

第一題:

 

題解:

 貪心算法,題解參考

 1 package testTecent;
 2 
 3 import java.util.Arrays;
 4 import java.util.Scanner;
 5 
 6 public class test1 {
 7     public static void main(String[] args) {
 8         Scanner in = new Scanner(System.in);
 9         while (in.hasNextInt()) {
10 //            先讀入一個整數n,再接着讀入n個整數存入數組
11             int sum = 0;
12             int ans = 0;
13             int i;
14 
15             int m = in.nextInt();
16             int n = in.nextInt();
17             int[] arr = new int[n];
18             for (i = 0; i < n; i++)
19                 arr[i] = in.nextInt();
20 
21             Arrays.sort(arr);
22             if (arr[0] != 1) {
23                 System.out.println(-1);
24                 return;
25             }
26             while (true) {
27                 if (sum >= m) {
28                     System.out.println(ans);
29                     return;
30                 }
31 
32                 for (i = n-1; i >= 0; i--) {
33                     if (arr[i] <= sum + 1) {
34                         sum += arr[i];
35                         ans++;
36                         break;
37                     }
38                 }
39             }
40         }
41     }
42 }

 

第二題:

 

 

 

題解:

只需要統計0的個數和1的個數,兩者作差即可。因為到最后不可能同時剩下0和1,只能剩下兩者中的一個。

第三題:

 算法崗位筆試題:

第一題:

 

 

第二題:

 

 

第三題:

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM