日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2023. 连接后等于目标字符串的字符串对

發布時間:2023/11/29 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2023. 连接后等于目标字符串的字符串对 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2023. 連接后等于目標字符串的字符串對

給你一個 數字?字符串數組 nums?和一個 數字?字符串 target?,請你返回 nums[i] + nums[j]?(兩個字符串連接)結果等于 target?的下標 (i, j)?(需滿足 i != j)的數目。

示例 1:輸入:nums = ["777","7","77","77"], target = "7777" 輸出:4 解釋:符合要求的下標對包括: - (0, 1):"777" + "7" - (1, 0):"7" + "777" - (2, 3):"77" + "77" - (3, 2):"77" + "77"示例 2:輸入:nums = ["123","4","12","34"], target = "1234" 輸出:2 解釋:符合要求的下標對包括 - (0, 1):"123" + "4" - (2, 3):"12" + "34"示例 3:輸入:nums = ["1","1","1"], target = "11" 輸出:6 解釋:符合要求的下標對包括 - (0, 1):"1" + "1" - (1, 0):"1" + "1" - (0, 2):"1" + "1" - (2, 0):"1" + "1" - (1, 2):"1" + "1" - (2, 1):"1" + "1"

提示:

  • 2 <= nums.length <= 100
  • 1 <= nums[i].length <= 100
  • 2 <= target.length <= 100
  • nums[i]?和?target?只包含數字。
  • nums[i]?和?target?不含有任何前導 0 。

解題思路

  • 使用map記錄每個字符串出現的下標,因為可能存在相同的字符串出現在不同下標,因此下標使用vector進行維護
  • 遍歷所有字符串,假設其組成的是target的前部分,使用map快速判斷是否存在其他下標的字符串可以組成target的后部分
  • 例如對于第一個樣例:

    nums = ["777","7","77","77"], target = "7777"
  • 對于nums[0]=“777”,map中存在“7”可以與其構成“7777”,并且下標與其不相等
  • 對于nums[1]=“7”,map中存在“777”可以與其構成“7777”,并且下標與其不相等
  • 對于nums[2]=“77”,map中存在“77”可以與其構成“77”,只存在一個下標與其不相等,所以答案只能加一
  • 對于nums[3]=“777”,map中存在“77”可以與其構成“77”,只存在一個下標與其不相等,所以答案只能加一
  • 代碼

    class Solution { public:int numOfPairs(vector<string>& nums, string target) {map<string,vector<int>> m;for (int i = 0; i < nums.size(); ++i) {m[nums[i]].push_back(i);}int res(0);for (int i = 0; i < nums.size(); ++i) {if (target.size()<nums[i].size())continue;string front= target.substr(0,nums[i].size());string back=target.substr(nums[i].size(),target.size()-nums[i].size());if (nums[i]==front&&m.count(back)){for(auto t:m[back])if (t!=i)res++;}}return res;} };

    總結

    以上是生活随笔為你收集整理的2023. 连接后等于目标字符串的字符串对的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。