真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

小白的leetcode(2)-創(chuàng)新互聯(lián)

文章目錄
  • 344. 反轉(zhuǎn)字符串
  • 541 反轉(zhuǎn)字符串 II
  • 628. 三個(gè)數(shù)的大乘積

創(chuàng)新互聯(lián)公司自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元勉縣做網(wǎng)站,已為上家服務(wù),為勉縣各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792344. 反轉(zhuǎn)字符串

這道題的難易是符合其名的

編寫一個(gè)函數(shù),其作用是將輸入的字符串反轉(zhuǎn)過來。輸入字符串以字符數(shù)組 s 的形式給出。

不要給另外的數(shù)組分配額外的空間,你必須原地修改輸入數(shù)組、使用 O(1) 的額外空間解決這一問題。

  • 示例 1:

    輸入:s = [“h”,“e”,“l(fā)”,“l(fā)”,“o”]
    輸出:[“o”,“l(fā)”,“l(fā)”,“e”,“h”]

  • 示例 2:

    輸入:s = [“H”,“a”,“n”,“n”,“a”,“h”]
    輸出:[“h”,“a”,“n”,“n”,“a”,“H”]

來源:力扣(LeetCode)
鏈接:https://leetcode.cn/problems/reverse-string

  • 本題相對(duì)簡(jiǎn)單,以下是我的思路。
  • 運(yùn)用兩個(gè)指針分別指向字符串的首元素和最后一個(gè)元素,進(jìn)行交換后左指針++右指針–,很明顯這是一個(gè)循環(huán),當(dāng)且僅當(dāng)左指針<=(<)循環(huán)繼續(xù)。

以下是代碼實(shí)現(xiàn):

void reverseString(char* s, int sSize){char* left = s;
    char* right = s + sSize - 1;
    while (left<= right)
    {char tmp = *left;
        *left = *right;
        *right = tmp;
        left++;
        right--;
    }
}
541 反轉(zhuǎn)字符串 II

我的感覺 反轉(zhuǎn)字符串|| 明顯比 反轉(zhuǎn)字符串 難了許多

給定一個(gè)字符串 s 和一個(gè)整數(shù) k,從字符串開頭算起,每計(jì)數(shù)至 2k 個(gè)字符,就反轉(zhuǎn)這 2k 字符中的前 k 個(gè)字符。

如果剩余字符少于 k 個(gè),則將剩余字符全部反轉(zhuǎn)。
如果剩余字符小于 2k 但大于或等于 k 個(gè),則反轉(zhuǎn)前 k 個(gè)字符,其余字符保持原樣。

  • 示例 1:

    輸入:s = “abcdefg”, k = 2
    輸出:“bacdfeg”

  • 示例 2:

    輸入:s = “abcd”, k = 2
    輸出:“bacd”

來源:力扣(LeetCode)
鏈接:https://leetcode.cn/problems/reverse-string-ii

  • 這道題目的意思明顯被啰嗦化了,實(shí)際上,我們只需要將下標(biāo)為2k的倍數(shù)的前長(zhǎng)度為k的字串反轉(zhuǎn),當(dāng)字串長(zhǎng)度<=k則全部反轉(zhuǎn)即可

以下是我按照這個(gè)思路寫的C語(yǔ)言代碼,內(nèi)容比較多:

int my_strlen(char* s)
{int count = 0;
    while (*s++ != '\0')
    {count++;
    }
    return count;
}

char* reverseStr(char* s, int k) {int i = 0;
    int j = 0;
    int len = my_strlen(s);
    if (len<= k) // 開始進(jìn)來判斷字符串的長(zhǎng)度是否小于等于k,成立則直接反轉(zhuǎn)即可
    {char* left = s;
        char* right = s + len - 1;
        while (left<= right)
        {char tmp = *left;
            *left = *right;
            *right = tmp;
            left++;
            right--;
        }
        return s;
    }
    for (i = 0; i< len; i += 2 * k) // 下標(biāo)跳2k
    {char* left = s + i;
        char* right = NULL;
        if (my_strlen(left)<= k) // 從left指向的元素開始求長(zhǎng)度,如果小于k則right指針直接指向最后一個(gè)元素,再反轉(zhuǎn)
        {right = s + len - 1;
        }
        else
        {right = s + k + i - 1; 
        }
        while (left< right)
        {char tmp = *left;
            *left = *right;
            *right = tmp;
            left++;
            right--;
        }
    }
    return s;
}
628. 三個(gè)數(shù)的大乘積

給你一個(gè)整型數(shù)組 nums ,在數(shù)組中找出由三個(gè)數(shù)組成的大乘積,并輸出這個(gè)乘積。

  • 示例 1:

    輸入:nums = [1,2,3]
    輸出:6

  • 示例 2:

    輸入:nums = [1,2,3,4]
    輸出:24

  • 示例 3:

    輸入:nums = [-1,-2,-3]
    輸出:-6

來源:力扣(LeetCode)
鏈接:https://leetcode.cn/problems/maximum-product-of-three-numbers

  • 本題可以先將數(shù)組進(jìn)行升序,然后再將數(shù)組的最后的三個(gè)元素的乘積與第一個(gè)和第二個(gè)以及最后一個(gè)元素的乘積比大小,返回大的那個(gè)值。
  • 根據(jù)兩負(fù)一正原理,我們這樣去做,我們會(huì)發(fā)現(xiàn),有負(fù)數(shù),有幾個(gè)負(fù)數(shù)的情況都被考慮進(jìn)去了,只要仔細(xì)想想就可以明白。
int cmp(int* a, int* b) {return *a - *b;
}

int maximumProduct(int* nums, int numsSize) {qsort(nums, numsSize, sizeof(int), cmp); // 將數(shù)組升序排列
    return fmax(nums[0] * nums[1] * nums[numsSize - 1], nums[numsSize - 3] * nums[numsSize - 2] * nums[numsSize - 1]);
}

這里使用了兩個(gè)函數(shù),一個(gè)是qsort排序函數(shù)(因?yàn)镃語(yǔ)言運(yùn)用兩個(gè)for循環(huán)嵌套排序可能會(huì)造成超出時(shí)間限制的情況),一個(gè)是fmax求大值函數(shù),具體的使用大家可以查閱資料,很容易就可以理解。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


文章題目:小白的leetcode(2)-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://weahome.cn/article/hcois.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部