国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Day6 打卡第六天

這篇具有很好參考價(jià)值的文章主要介紹了Day6 打卡第六天。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

242.?有效的字母異位詞

給定兩個(gè)字符串?s?和?t?,編寫(xiě)一個(gè)函數(shù)來(lái)判斷?t?是否是?s?的字母異位詞。

注意:若?s?和?t?中每個(gè)字符出現(xiàn)的次數(shù)都相同,則稱?s?和?t?互為字母異位詞。

示例?1:

輸入: s = "anagram", t = "nagaram"
輸出: true
class Solution {
public:
    bool isAnagram(string s, string t) {
        int result[26] = {0};
        int n = s.size();
        int m = t.size();
        if(n != m) return false;
        for(int i = 0; i < n ;i++){
            result[s[i]-'a']++;
            result[t[i]-'a']--;
        }
        for(int i = 0; i < 26; i++)
            if(result[i]!=0) return false;

        return true;        
    }
};

數(shù)組其實(shí)就是一個(gè)簡(jiǎn)單哈希表,而且這道題目中字符串只有小寫(xiě)字符,那么就可以定義一個(gè)數(shù)組,來(lái)記錄字符串s里字符出現(xiàn)的次數(shù),并減去字符串t里字符出現(xiàn)的次數(shù),最后數(shù)組元素都為0則兩個(gè)字符串是字母異味詞。????????result[s[i]-'a']++;? ? ? ? ? ? result[t[i]-'a']--;

349.?兩個(gè)數(shù)組的交集

給定兩個(gè)數(shù)組?nums1?和?nums2?,返回?它們的交集?。輸出結(jié)果中的每個(gè)元素一定是?唯一?的。我們可以?不考慮輸出結(jié)果的順序?。

示例 1:

輸入:nums1 = [1,2,2,1], nums2 = [2,2]
輸出:[2]

示例 2:

輸入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
輸出:[9,4]
解釋:[4,9] 也是可通過(guò)的
class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_set<int> result_set; //存放結(jié)果,去重
        unordered_set<int> nums2_set(nums2.begin(), nums2.end());
        for(int num : nums1) 
            if(nums2_set.find(num) != nums2_set.end())
                result_set.insert(num);
        return vector<int> (result_set.begin(),result_set.end());
    }
};

注意迭代器的用法和相關(guān)函數(shù)

202.?快樂(lè)數(shù)

編寫(xiě)一個(gè)算法來(lái)判斷一個(gè)數(shù)?n?是不是快樂(lè)數(shù)。

「快樂(lè)數(shù)」?定義為:

  • 對(duì)于一個(gè)正整數(shù),每一次將該數(shù)替換為它每個(gè)位置上的數(shù)字的平方和。
  • 然后重復(fù)這個(gè)過(guò)程直到這個(gè)數(shù)變?yōu)?1,也可能是?無(wú)限循環(huán)?但始終變不到 1。
  • 如果這個(gè)過(guò)程?結(jié)果為?1,那么這個(gè)數(shù)就是快樂(lè)數(shù)。

如果?n?是?快樂(lè)數(shù)?就返回?true?;不是,則返回?false?。

示例 1:

輸入:n = 19
輸出:true
解釋:
class Solution {
public:
    int getsum(int n){
            int sum = 0;
            while(n){
                sum += (n % 10) * (n % 10);
                n /= 10;
            }
            return sum;
        }

    bool isHappy(int n) {
        vector<int> set;
        while(1){
            int sum = getsum(n);
            if(sum == 1) return true;
            if(find(set.begin(),set.end(),sum) != set.end()) return false;
            else set.insert(set.end(),sum);
            n = sum;
        }
    }
};

思路:判斷這個(gè)sum是否重復(fù)出現(xiàn),如果重復(fù)了就是return false, 否則一直找到sum為1為止。

不用unordered_set也可以?。??

1.?兩數(shù)之和

給定一個(gè)整數(shù)數(shù)組?nums?和一個(gè)整數(shù)目標(biāo)值?target,請(qǐng)你在該數(shù)組中找出?和為目標(biāo)值?target? 的那?兩個(gè)?整數(shù),并返回它們的數(shù)組下標(biāo)。

你可以假設(shè)每種輸入只會(huì)對(duì)應(yīng)一個(gè)答案。但是,數(shù)組中同一個(gè)元素在答案里不能重復(fù)出現(xiàn)。

你可以按任意順序返回答案。

示例 1:

輸入:nums = [2,7,11,15], target = 9
輸出:[0,1]
解釋:因?yàn)?nums[0] + nums[1] == 9 ,返回 [0, 1] 。
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        int n = nums.size();
        for(int i = 0;i < n ;i++)
            for(int j = i + 1; j < n ; j++){
                if (nums[i] + nums[j] == target)
                return {i,j};
            }
        return {};      
    }
};

暴力方法真的好簡(jiǎn)單,怎么能不用暴力,QAQ再碰到這題我也會(huì)用暴力啊。

暴力復(fù)雜度是O(n2),哈希是O(n)。明天補(bǔ)充一下哈希的做法。

map中的存儲(chǔ)結(jié)構(gòu)為 {key:數(shù)據(jù)元素,value:數(shù)組元素對(duì)應(yīng)的下標(biāo)}

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        unordered_map<int,int> result;
        int n = nums.size();
        for(int i = 0 ; i < n ; i++){
            if(result.find(target-nums[i]) == result.end())
            result.insert(pair<int,int>(nums[i], i));
            else {
                auto iter = result.find(target-nums[i]);
                return{iter->second,i};
            }
        }
        return {};
    }
};

對(duì)迭代器的API不熟文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-494023.html

到了這里,關(guān)于Day6 打卡第六天的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Day 6 哈希表part01:242.有效的字母異位詞 , 349. 兩個(gè)數(shù)組的交集 , 202. 快樂(lè)數(shù), 1. 兩數(shù)之和

    Day 6 哈希表part01:242.有效的字母異位詞 , 349. 兩個(gè)數(shù)組的交集 , 202. 快樂(lè)數(shù), 1. 兩數(shù)之和

    哈希表理論基礎(chǔ)? 要了解哈希表的內(nèi)部實(shí)現(xiàn)原理,哈希函數(shù),哈希碰撞,以及常見(jiàn)哈希表的區(qū)別,數(shù)組,set?和map。?? 什么時(shí)候想到用哈希法,當(dāng)我們遇到了 要快速判斷一個(gè)元素是否出現(xiàn)集合里的時(shí)候 ,就要考慮 哈希法 。 ?這句話很重要,大家在做哈希表題目都要思考這

    2024年02月15日
    瀏覽(23)
  • ● day5:哈希表理論基礎(chǔ) 242.有效的字母異位詞   349. 兩個(gè)數(shù)組的交集   202. 快樂(lè)數(shù) 1. 兩數(shù)之和

    ● day5:哈希表理論基礎(chǔ) 242.有效的字母異位詞 349. 兩個(gè)數(shù)組的交集 202. 快樂(lè)數(shù) 1. 兩數(shù)之和

    ● 哈希表理論基礎(chǔ) ● 242.有效的字母異位詞 ● 349. 兩個(gè)數(shù)組的交集 ● 202. 快樂(lè)數(shù) ● 1. 兩數(shù)之和 哈希表理論基礎(chǔ) 建議:大家要了解哈希表的內(nèi)部實(shí)現(xiàn)原理,哈希函數(shù),哈希碰撞,以及常見(jiàn)哈希表的區(qū)別,數(shù)組,set 和map。 什么時(shí)候想到用哈希法, 當(dāng)我們遇到了要快速判斷一

    2024年02月05日
    瀏覽(22)
  • 代碼隨想錄二刷 day06 | 哈希表之 242.有效的字母異位詞 349. 兩個(gè)數(shù)組的交集 202. 快樂(lè)數(shù) 1. 兩數(shù)之和

    代碼隨想錄二刷 day06 | 哈希表之 242.有效的字母異位詞 349. 兩個(gè)數(shù)組的交集 202. 快樂(lè)數(shù) 1. 兩數(shù)之和

    哈希表能解決什么問(wèn)題呢?一般哈希表都是用來(lái)快速判斷一個(gè)元素是否出現(xiàn)集合里。 242.有效的字母異位詞 題目鏈接 解題思路: 題目的意思就是 判斷兩個(gè)字符串是否由相同字母組成。 字符a到字符z的ASCII是26個(gè)連續(xù)的數(shù)值,所以字符a映射為下標(biāo)0,相應(yīng)的字符z映射為下標(biāo)25。

    2024年02月07日
    瀏覽(20)
  • 機(jī)試打卡 -01 字母異位詞(滑動(dòng)窗口)

    機(jī)試打卡 -01 字母異位詞(滑動(dòng)窗口)

    ? 算法小白的代碼如下↓ 但是超時(shí)了…… 雖然代碼沒(méi)有提交成功,但是需要注意幾個(gè)點(diǎn): ①類中方法的參數(shù) self: 在類的內(nèi)部,使用 def 來(lái)定義一個(gè)方法,與一般函數(shù)定義不同,類方法 必須 包含參數(shù) self , 且為第一個(gè)參數(shù), self 代表的是類的實(shí)例。 self :類的方法與普

    2024年02月06日
    瀏覽(10)
  • 拒絕擺爛!C語(yǔ)言練習(xí)打卡第六天

    拒絕擺爛!C語(yǔ)言練習(xí)打卡第六天

    ?? 博客主頁(yè): 小王又困了 ?? 系列專欄: 每日一練 ?? 人之為學(xué),不日近則日退? ?? 感謝大家點(diǎn)贊??收藏?評(píng)論?? 目錄 一、選擇題 ??1.第一題? ??2.第二題 ??3.第三題 ??4.第四題 二、編程題 ??1.第一題? ??2.第二題 ???前言: 在前面我們學(xué)習(xí)完C語(yǔ)言的所以知

    2024年02月11日
    瀏覽(18)
  • C# 有效的字母異位詞

    C# 有效的字母異位詞

    給定兩個(gè)字符串 和 ,編寫(xiě)一個(gè)函數(shù)來(lái)判斷 是否是 的字母異位詞。stts 注意:若 和 中每個(gè)字符出現(xiàn)的次數(shù)都相同,則稱 和 互為字母異位詞。stst 示例 1: 輸入: s = “anagram”, t = “nagaram” 輸出: true 示例 2: 輸入: s = “rat”, t = “car” 輸出: false 提示: 1 = s.length, t.length = 5 * 10

    2024年02月14日
    瀏覽(21)
  • 算法刷題-哈希表-有效的字母異位詞

    算法刷題-哈希表-有效的字母異位詞

    數(shù)組就是簡(jiǎn)單的哈希表,但是數(shù)組的大小可不是無(wú)限開(kāi)辟的 力扣題目鏈接 給定兩個(gè)字符串 s 和 t ,編寫(xiě)一個(gè)函數(shù)來(lái)判斷 t 是否是 s 的字母異位詞。 示例 1: 輸入: s = “anagram”, t = “nagaram” 輸出: true 示例 2: 輸入: s = “rat”, t = “car” 輸出: false 說(shuō)明: 你可以假設(shè)字符串只包

    2024年02月09日
    瀏覽(24)
  • 【leetcode】242. 有效的字母異位詞(easy)

    給定兩個(gè)字符串 s 和 t ,編寫(xiě)一個(gè)函數(shù)來(lái)判斷 t 是否是 s 的字母異位詞。 注意:若 s 和 t 中每個(gè)字符出現(xiàn)的次數(shù)都相同,則稱 s 和 t 互為字母異位詞。 思路: 先比較兩字符串長(zhǎng)度是否相同,如果不同直接返回 false 。 創(chuàng)建兩個(gè)HashMap; 分別遍歷兩個(gè)字符串中的字符 char a = c

    2024年02月13日
    瀏覽(29)
  • 【代碼隨想錄-哈希表】有效的字母異位詞

    【代碼隨想錄-哈希表】有效的字母異位詞

    ??????歡迎來(lái)到我的博客,很高興能夠在這里和您見(jiàn)面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內(nèi)容和知識(shí),也可以暢所欲言、分享您的想法和見(jiàn)解。 推薦:kwan 的首頁(yè),持續(xù)學(xué)習(xí),不斷總結(jié),共同進(jìn)步,活到老學(xué)到老 導(dǎo)航 檀越劍指大廠系列:全面總

    2024年02月21日
    瀏覽(96)
  • 藍(lán)橋杯打卡Day6

    藍(lán)橋杯打卡Day6

    文章目錄 N的階乘 基本算術(shù) 整數(shù)查詢 本題思路: 本題是關(guān)于高精度的模板題。 ?本題思路: 本題是高精度的模板題。 本題思路: 本題是高精度的模板題。

    2024年02月09日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包