当前位置: 首页 > news >正文

电子商务网站建设规划范文学it需要什么学历基础

电子商务网站建设规划范文,学it需要什么学历基础,法院网站建设工作成效,福州建网站17. 电话号码的字母组合 - 力扣(LeetCode) 17. 电话号码的字母组合 - 力扣(LeetCode)给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合答案可以按 任意顺序 返回给出数字到字母的映射如下(与…

17. 电话号码的字母组合 - 力扣(LeetCode) 

  • 17. 电话号码的字母组合 - 力扣(LeetCode)给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合
  • 答案可以按 任意顺序 返回
  • 给出数字到字母的映射如下(与电话按键相同)
  • 注意 1 不对应任何字母

示例 1:

输入:digits = "23"
输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]

示例 2:

输入:digits = ""
输出:[]

示例 3:

输入:digits = "2"
输出:["a","b","c"]

for x in "abc":for y in "def":...1.构造长为2的字符串,可以写一个二重循环2.但如果要构造长为3、4的,甚至长度是不确定的,要怎么写呢?3.单纯的循环嵌套,表达能力是有局限的

C++代码:

class Solution{string MAPPING[10] = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
public:vector<string> letterCombinations(string digits) {int n = digits.length();if(n==0) return {};vector<string> ans;string path;function<void(int)> dfs = [&](int i) {if(i==n) {ans.emplace_back(path);return;}for(char c:MAPPING[digits[i]-'0']) {path.push_back(c);dfs(i+1);path.pop_back();}};dfs(0);return ans;}
};

class Solution{string MAPPING[10] = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
public:vector<string> letterCombinations(string digits) {int n = digits.length();if(n==0) return {};vector<string> ans;string path(n,0);function<void(int)> dfs = [&](int i) {if(i==n) {ans.emplace_back(path);return;}for(char c:MAPPING[digits[i]-'0']) {path[i] = c;dfs(i+1);}};dfs(0);return ans;}
};
  • 时间复杂度:O(n 4^n)
  • 空间复杂度:O(n)

Python代码:

# Java/C++/Go 等语言的实现,见视频简介
MAPPING = ["","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"]
class Solution:def letterCombinations(self, digits: str) -> List[str]:n = len(digits)if n==0:return []# O(n*4^n)ans = []path = ['']*ndef dfs(i):if i==n:ans.append(''.join(path))returnfor c in MAPPING[int(digits[i])]:path[i]=cdfs(i+1)dfs(0)return ans

78. 子集 - 力扣(LeetCode) 

  • 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集
  • 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集

示例 1:

输入:nums = [1,2,3]
输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]

示例 2:

输入:nums = [0]
输出:[[],[0]]

 1.输入的视角(选或不选)

class Solution {
public:vector<vector<int>> subsets(vector<int> &nums) {vector<vector<int>> ans;vector<int> path;int n = nums.size();function<void(int)> dfs = [&](int i) {if(i == n) {ans.emplace_back(path);return;}// 不选 nums[i]dfs(i+1);// 选 nums[i]path.push_back(nums[i]);dfs(i+1);path.pop_back();// 恢复现场};dfs(0);return ans;}
};
  •  时间复杂度:O(n 2^n)
  •  空间复杂度:O(n)

 2.答案的视角(选哪个数) 

class Solution {
public:vector<vector<int>> subsets(vector<int> &nums) {vector<vector<int>> ans;vector<int> path;int n = nums.size();function<void(int)> dfs = [&](int i) {ans.emplace_back(path);if(i == n) {return;}for(int j=i;j<n;j++) { // 枚举选择的数字path.push_back(nums[j]);dfs(j+1);path.pop_back();// 恢复现场}};dfs(0);return ans;}
};
  •  时间复杂度:O(n 2^n)
  •  空间复杂度:O(n)

131. 分割回文串 - 力扣(LeetCode)

给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。回文串 是正着读和反着读都一样的字符串。

示例 1:

输入:s = "aab"
输出:[["a","a","b"],["aa","b"]]

示例 2:

输入:s = "a"
输出:[["a"]]

  • 方法一:输入的视角(逗号不选

C++代码:

class Solution {
public:bool isPalindrome(string &s, int left, int right) {while (left < right)if (s[left++] != s[right--])return false;return true;}/*方法一:输入的视角(逗号选或不选)假设每对相邻字符之间有个逗号,那么就看每个逗号是选还是不选也可以理解成:是否要把s[i]当成分割出的子串的最后一个字符*/vector<vector<string>> partition(string s) {vector<vector<string>> ans;vector<string> path; // 放已经回文的子串int n = s.length();// start 表示当前这段回文子串的开始位置function<void(int,int)> dfs = [&](int i,int start) {if(i == n) {ans.emplace_back(path);return;}// 不选 i 和 i+1 之间的逗号(i = n-1 时一定要选)if(i < n-1) dfs(i+1,start);// 选 i 和 i+1 之间的逗号(把 s[i] 作为子串的最后一个字符)if(isPalindrome(s,start,i)) {path.push_back(s.substr(start,i-start+1));dfs(i+1,i+1);// 下一个子串从 i+1 开始path.pop_back();// 恢复现场}};dfs(0,0);return ans;}
};
  • 方法二:答案的视角(枚举子串结束位置)

C++代码:

// 方法二:答案的视角(枚举子串结束位置)
class Solution {bool isPalindrome(string &s,int left,int right) {while(left < right) {if(s[left++] != s[right--]) return false;}return true;}
public:vector<vector<string>> partition(string s) {vector<vector<string>> ans;vector<string> path;int n = s.length();function<void(int)> dfs = [&](int i) {if(i==n) {ans.emplace_back(path);return;}for(int j=i;j<n;j++) { // 枚举子串的结束位置if(isPalindrome(s,i,j)) {path.push_back(s.substr(i,j-i+1));dfs(j+1);path.pop_back();//恢复现场}}};dfs(0);return ans;}
};
  •  时间复杂度:O(n 2^n)
  •  空间复杂度:O(n)

参考文章和推荐视频:

回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://www.bilibili.com/video/BV1mG4y1A7Gu/?spm_id_from=333.788&vd_source=a934d7fc6f47698a29dac90a922ba5a3
电话号码的字母组合icon-default.png?t=N7T8https://leetcode.cn/problems/letter-combinations-of-a-phone-number/solutions/2059416/hui-su-bu-hui-xie-tao-lu-zai-ci-pythonja-3orv/

78.子集icon-default.png?t=N7T8https://leetcode.cn/problems/subsets/solutions/2059409/hui-su-bu-hui-xie-tao-lu-zai-ci-pythonja-8tkl/

131.分割回文串icon-default.png?t=N7T8https://leetcode.cn/problems/palindrome-partitioning/solutions/2059414/hui-su-bu-hui-xie-tao-lu-zai-ci-pythonja-fues/ 

http://www.mfbz.cn/news/671/

相关文章:

  • 家装要去哪个公司装修手把手教你优化网站
  • 建设网站多钱竞价推广是做什么的
  • 做微商进哪个网站安全吗推广的渠道和方法有哪些
  • c 网站开发引擎怎么在百度推广自己的网站
  • 网站宣传与推广的方法seo教程 seo之家
  • 最新网站开发价格企业查询网站
  • 网站排版工具武汉外包seo公司
  • 网站如何做收录排行搜索引擎营销的优势和劣势
  • wordpress 截图seo对网络推广的作用是什么?
  • 网站公司做网站网络seo优化平台
  • apache 配置网站b2b平台推广
  • 杭州网站建设教育机构找片子有什么好的关键词
  • 做网站的优势注册网站流程和费用
  • wordpress博客整站源码生意参谋官网
  • 网站广告怎么赚钱新手电商运营从哪开始学
  • 交互式网站是什么意思百度免费
  • 民治网站建设yihe kj关键词优化排名软件哪家好
  • 门户网站建设经验总结报告爱站网排行榜
  • 网站服务器买了后怎么做seo关键词排名优化推荐
  • 网站做违法的事情投诉软件外包公司有前途吗
  • 北京大兴最专业的网站建设公司推广app赚钱项目
  • 下载asp网站微信小程序开发工具
  • 天津网站建设首选津坤科技站长统计性宝app
  • 彩票开发网站建设应该要注意哪些问题永久不收费的软件app
  • wordpress 更改注册页面seo chinaz
  • 做网站模版seo建站需求
  • 公司vi包括什么seo网站排名优化公司哪家
  • 做网站公司那家好磁力岛引擎
  • 网站轮播图片怎么做seo应该怎么做
  • 深圳最好的营销网站建设公司哪家好网站收录一键提交