最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

知名互聯網公司校招中常見的算法題(11-13)

2023-04-26 06:43 作者:good7ob  | 我要投稿

題目11:兩數之和

題目描述:

給定一個整數數組 nums 和一個整數目標值 target,請在該數組中找出和為目標值的兩個整數,并返回它們的數組下標。假設每種輸入只會對應一個答案。但是,數組中同一個元素不能使用兩遍。

解決思路:

我們可以用哈希表來解決這個問題。我們用一個哈希表來存儲每個數的值和它的下標。對于每個數 nums[i],我們檢查哈希表中是否存在 target - nums[i],如果存在,則返回對應的下標,否則將當前數和它的下標存入哈希表中。

代碼實現:

public int[] twoSum(int[] nums, int target) {
? Map<Integer, Integer> map = new HashMap<>();
? for (int i = 0; i < nums.length; i++) {
? ? ? int complement = target - nums[i];
? ? ? if (map.containsKey(complement)) {
? ? ? ? ? return new int[] { map.get(complement), i };
? ? ? }
? ? ? map.put(nums[i], i);
? }
? throw new IllegalArgumentException("No two sum solution");
}

題目12:兩數相加

題目描述:

給定兩個非空鏈表,表示兩個非負整數。它們每位數字都是按照逆序方式存儲的,并且每個節(jié)點只能存儲一位數字。將這兩個數相加,返回一個新的鏈表表示它們的和。

解決思路:

我們可以用迭代的方法來解決這個問題。我們遍歷兩個鏈表,同時將它們的值相加,并將結果存儲在新鏈表中。需要注意的是,如果其中一個鏈表為空,我們要將它的值視為 0。

代碼實現:

public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
? ListNode dummy = new ListNode(0);
? ListNode curr = dummy;
? int

題目13:字符串轉換整數 (atoi)

題目描述:

int n = myAtoi(str);

請你來實現一個 atoi 函數,使其能將字符串轉換成整數。該函數可以通過以下方式被調用:

解決思路:

我們可以用一個變量來記錄當前數字的符號,同時用另一個變量來記錄當前數字的值。遍歷字符串,如果遇到數字,就將它加入當前數字的值中;如果遇到正負號,就記錄當前數字的符號;如果遇到空格,就忽略;如果遇到其他字符,就停止遍歷,返回當前數字的值。

代碼實現:

public int myAtoi(String str) {
? int sign = 1;
? int num = 0;
? int i = 0;
? // Skip leading whitespace
? while (i < str.length() && str.charAt(i) == ' ') {
? ? ? i++;
? }
? // Check for sign
? if (i < str.length() && (str.charAt(i) == '+' || str.charAt(i) == '-')) {
? ? ? sign = (str.charAt(i) == '-') ? -1 : 1;
? ? ? i++;
? }
? // Build number
? while (i < str.length() && Character.isDigit(str.charAt(i))) {
? ? ? int digit = str.charAt(i) - '0';
? ? ? // Check for overflow
? ? ? if (num > Integer.MAX_VALUE / 10 || (num == Integer.MAX_VALUE / 10 && digit > 7)) {
? ? ? ? ? return (sign == -1) ? Integer.MIN_VALUE : Integer.MAX_VALUE;
? ? ? }
? ? ? num = num * 10 + digit;
? ? ? i++;
? }
? return sign * num;
}


知名互聯網公司校招中常見的算法題(11-13)的評論 (共 條)

分享到微博請遵守國家法律
林甸县| 明光市| 土默特左旗| 吴江市| 长沙市| 瑞昌市| 武穴市| 博罗县| 兴山县| 义乌市| 黄大仙区| 威宁| 武宣县| 澄城县| 临沭县| 资中县| 闸北区| 沙坪坝区| 新宾| 平山县| 宣汉县| 黄骅市| 尼木县| 仪陇县| 平武县| 昆明市| 台中县| 郎溪县| 唐海县| 三江| 林芝县| 边坝县| 怀柔区| 南投县| 滨州市| 双江| 浠水县| 温州市| 拜泉县| 满洲里市| 高邑县|