面試經驗

台灣積體電路製造股份有限公司(台積電) TSMC SOFTWARE

新竹縣
錄取
面試時間2023.03
職務經驗2 年
薪水月薪 5萬
評分4.5

面試官專業度
grayThumbyellowThumb
grayThumbyellowThumb
grayThumbyellowThumb
grayThumbyellowThumb
grayThumbyellowThumb

/** * ---------------------------------------------------------------------------------- * 📝 題目敘述 (Problem Description) * ---------------------------------------------------------------------------------- * LeetCode 1. Two Sum (兩數之和) * 給定一個整數陣列 nums 和一個目標值 target, * 請你在該陣列中找出和為 target 的那兩個整數,並回傳它們的陣列索引 (Index)。 * ---------------------------------------------------------------------------------- * Note: The returned array must be malloced, assume caller calls free(). * ---------------------------------------------------------------------------------- *//* * ---------------------------------------------------------------------------------- * 💡 答案、記法與講法 (Solution, Notes, and Explanation) * ---------------------------------------------------------------------------------- */ #include <stdlib.h> int* twoSum(int* nums, int numsSize, int target, int* returnSize) { // 1. 設定回傳陣列的大小 // LeetCode 的 C 語言介面要求我們透過指標 *returnSize 告訴呼叫者我們回傳了幾個數字。 // 題目保證一定有解且為兩個數字,所以這裡設為 2。 *returnSize = 2; // 2. 配置記憶體 // 題目要求回傳的陣列必須是 malloc 出來的 (Heap Memory), // 這樣離開函式後,陣列才不會消失。 int *result = (int*)malloc(2 * sizeof(int)); if (result == NULL) return NULL; // 安全檢查 // 3. 雙重迴圈搜尋 (Brute Force) // 外層迴圈 i:代表第一個數字的位置 for (int i = 0; i < numsSize; i++) { // 內層迴圈 j:代表第二個數字的位置 // j 從 i + 1 開始,避免重複計算自己 (i != j) 且避免重複組合。 for (int j = i + 1; j < numsSize; j++) { // 4. 判斷是否符合目標 // 如果 陣列[i] + 陣列[j] 等於 target if (nums[i] + nums[j] == target) { result[0] = i; result[1] = j; return result; // 找到答案直接回傳 } } } // 題目保證一定有解,所以理論上程式不會執行到這裡, // 但為了語法完整性,若沒找到回傳 NULL。 return NULL; } /*

工時狀況
grayThumbyellowThumb
grayThumbyellowThumb
grayThumbyellowThumb
grayThumbyellowThumb
grayThumbyellowThumb

/** * ---------------------------------------------------------------------------------- * 📝 題目敘述 (Problem Description) * ---------------------------------------------------------------------------------- * LeetCode 1. Two Sum (兩數之和) * 給定一個整數陣列 nums 和一個目標值 target, * 請你在該陣列中找出和為 target 的那兩個整數,並回傳它們的陣列索引 (Index)。 * ---------------------------------------------------------------------------------- * Note: The returned array must be malloced, assume caller calls free(). * ---------------------------------------------------------------------------------- *//* * ---------------------------------------------------------------------------------- * 💡 答案、記法與講法 (Solution, Notes, and Explanation) * ---------------------------------------------------------------------------------- */ #include <stdlib.h> int* twoSum(int* nums, int numsSize, int target, int* returnSize) { // 1. 設定回傳陣列的大小 // LeetCode 的 C 語言介面要求我們透過指標 *returnSize 告訴呼叫者我們回傳了幾個數字。 // 題目保證一定有解且為兩個數字,所以這裡設為 2。 *returnSize = 2; // 2. 配置記憶體 // 題目要求回傳的陣列必須是 malloc 出來的 (Heap Memory), // 這樣離開函式後,陣列才不會消失。 int *result = (int*)malloc(2 * sizeof(int)); if (result == NULL) return NULL; // 安全檢查 // 3. 雙重迴圈搜尋 (Brute Force) // 外層迴圈 i:代表第一個數字的位置 for (int i = 0; i < numsSize; i++) { // 內層迴圈 j:代表第二個數字的位置 // j 從 i + 1 開始,避免重複計算自己 (i != j) 且避免重複組合。 for (int j = i + 1; j < numsSize; j++) { // 4. 判斷是否符合目標 // 如果 陣列[i] + 陣列[j] 等於 target if (nums[i] + nums[j] == target) { result[0] = i; result[1] = j; return result; // 找到答案直接回傳 } } } // 題目保證一定有解,所以理論上程式不會執行到這裡, // 但為了語法完整性,若沒找到回傳 NULL。 return NULL; } /*
面試過程曾問以下問題
  • 詢問家庭狀況
台灣積體電路製造股份有限公司(台積電) TSMC的薪水看更多>>
SOFTWARE的薪水分佈看更多>>

詳細給推

感謝大大無私分享

蒸的很蚌

真的非常謝謝你的分享!

很實用!

台灣的職場因為有你變得更好!

給我們回饋