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

石景山手机网站建设软件开发入门

石景山手机网站建设,软件开发入门,wordpress 模版 婚礼,wordpress 跳转136. 只出现一次的数字 136. 只出现一次的数字 - 力扣#xff08;LeetCode#xff09; 核心思想#xff1a;按位异或运算 利用按位异或运算的性质来解决这个问题#xff1a; 异或运算的性质#xff1a; a ^ a 0#xff1a;相同的数异或结果为0。 a ^ 0 a#xff1a…136. 只出现一次的数字 136. 只出现一次的数字 - 力扣LeetCode 核心思想按位异或运算 利用按位异或运算的性质来解决这个问题 异或运算的性质 a ^ a 0相同的数异或结果为0。 a ^ 0 a任意数与0异或结果为该数本身。 交换律和结合律a ^ b ^ a (a ^ a) ^ b 0 ^ b b。 由于数组中除了一个数只出现一次其他数都出现两次根据异或运算的性质这些成对出现的数会互相抵消变成0 最后剩下的就是那个只出现一次的数。 示例运行 假设 nums [2, 2, 1]我们来看看代码如何运行 初始 value 0。 遍历数组 value ^ 2value 0 ^ 2 2 value ^ 2value 2 ^ 2 0 value ^ 1value 0 ^ 1 1 最终 value 的值为1返回1。 这个结果符合预期证明代码是正确的。 通过异或运算可以在线性时间内O(n)找到唯一只出现一次的数字 并且只使用常量级别的额外空间O(1)。这个方法既高效又简洁。 代码C class Solution { public:int singleNumber(vectorint nums) {int ret0;for(auto i: nums) ret^i;return ret;} }; 118. 杨辉三角 118. 杨辉三角 - 力扣LeetCode 杨辉三角的特点是每个数是它上方两个数之和。 核心思想 杨辉三角的特点是每个位置的值等于其上方相邻两个元素之和。使用这种递归关系从上往下逐行构造每一行的首尾元素是固定的 1中间的元素通过前一行的值计算得到。 思路 建立结构构造一个二维数组将其大小设置为 n 行逐行填充杨辉三角的值。固定边界条件每一行的首尾元素都是 1可以直接赋值。动态填充中间元素对于每行的中间元素利用递推公式 triangle[i][j] triangle[i - 1][j - 1] triangle[i - 1][j]计算当前行的每个位置值。输出结果生成所需行数的杨辉三角输出作为二维数组。 代码C class Solution { public:vectorvectorint generate(int numRows) {vectorvectorint vv;vv.resize(numRows);for(size_t i0;ivv.size();i){vv[i].resize(i1, 0); // 第0行开一个0第1行开2个0...// 第一个和最后一个是1vv[i].front() 1;vv[i].back() 1;}for(size_t i0;ivv.size();i){for(size_t j0; jvv[i].size(); j){if(vv[i][j]0){vv[i][j]vv[i-1][j] vv[i-1][j-1];}}}return vv;} };//class Solution { //public: // vectorvectorint generate(int numRows) { // vectorvectorint vv; // 声明一个二维向量vv存储杨辉三角的每一行 // vv.resize(numRows); // 调整vv的大小为numRows行 // for (size_t i 0; i vv.size(); i) { // 遍历每一行 // vv[i].resize(i 1, 0); // 每一行有i1个元素初始化为0 // vv[i].front() 1; // 每一行的第一个元素为1 // vv[i].back() 1; // 每一行的最后一个元素为1 // } // for (size_t i 0; i vv.size(); i) { // 再次遍历每一行 // for (size_t j 0; j vv[i].size(); j) { // 遍历每一行的每个元素 // if (vv[i][j] 0) { // 如果当前元素是0表示它需要计算 // vv[i][j] vv[i - 1][j - 1] vv[i - 1][j]; // 当前元素是它左上和右上的元素之和 // } // } // } // return vv; // 返回生成的杨辉三角 // } //}; 26. 删除有序数组中的重复项 26. 删除有序数组中的重复项 - 力扣LeetCode 核心思想 这道题的核心思想是利用双指针在排序数组中去除重复项。一个指针 dst 用于记录去重后的数组位置另一个指针 src 用于遍历整个数组。由于数组已排序所以重复的元素必然是相邻的。通过逐个比较和移动指针可以在不使用额外空间的情况下完成去重。 思路 设置指针初始化 src 和 dst 两个指针均指向数组的起始位置。遍历数组使用 src 指针遍历整个数组 如果 src 和 dst 指向的元素相同则说明遇到重复元素仅移动 src 指针。如果 src 和 dst 指向的元素不同则说明遇到新的元素将 src 的值赋给 dst 1然后同时移动 src 和 dst 指针。调整数组长度在遍历结束后将数组的长度调整为 dst 1。返回长度返回去重后的数组长度。 代码C class Solution { public:int removeDuplicates(vectorint nums) {int src0;int dst0;while(src nums.size()){if(nums[src] nums[dst]) // 如果 src 和 dst 指向的元素相同说明是重复元素移动 src 指针{src;}else // 如果 src 和 dst 指向的元素不同将 src 的值复制到 dst 1 位置同时移动 src 和 dst 指针{nums[dst] nums[src];}}nums.resize(dst1);return dst 1;} }; 17. 电话号码的字母组合 17. 电话号码的字母组合 - 力扣LeetCode 核心思想 利用回溯Backtracking方法根据数字字符串中的每个数字将其映射到对应的字母集合通过递归逐步生成所有可能的组合。这种递归方法允许我们逐一生成不同长度的组合当达到字符串的末尾时将组合加入结果列表。 思路 建立映射初始化一个数组 numToStr存储每个数字对应的字母字符串。例如2 对应 abc3 对应 def依此类推。递归生成组合定义一个递归函数 Combine用于将当前数字对应的字母添加到组合字符串中 如果已经处理到数字字符串的末尾将当前组合字符串加入结果列表。否则获取当前数字对应的字母集合对每个字母递归调用 Combine 生成下一个字符的组合。边界处理在递归开始前判断输入是否为空字符串如果为空则直接返回空列表。返回结果递归结束后返回存储所有组合的列表。 代码C class Solution {char* numToStr[10]{,,abc,def,ghi,jkl,mno,pqrs,tuv,wxyz};// string numToStr[10]{,,abc,def,ghi,jkl,mno,pqrs,tuv,wxyz}; public:void Combine(string digits, int di, vectorstring retV, string combineStr){if(di digits.size()){retV.push_back(combineStr);return;}// 递归// 取数字字符映射的字符串int num digits[di] - 0;string str numToStr[num];for(auto ch : str){// di1就会往下一层走Combine(digits, di1, retV, combineStrch);}}vectorstring letterCombinations(string digits) {vectorstring v;if(digits.empty()){return v;}string str;Combine(digits, 0, v, str);return v;} };
http://www.w-s-a.com/news/298400/

相关文章:

  • 湘潭市网站建设科技有限公司杭州网站建设(推荐乐云践新)
  • 优秀网站评析西双版纳傣族自治州民宿
  • 常用的cms建站系统c2c网站模板
  • wordpress更换图标seo网站建设公司
  • 网站备案 深圳小程序怎么进入公众号
  • 实名认证域名可以做电影网站吗坪山网站设计的公司
  • wdcp怎么上传做好的网站管理咨询公司名称参考
  • 设计师网站pin分销系统小程序开发
  • 高端品牌网站建设兴田德润实惠企业网站建设应该怎么做
  • 做研学的网站优秀软文案例
  • 网站个人简介怎么做建设网站卡盟
  • 影楼做网站安庆建设机械网站
  • 访问网站的原理wix做网站流程
  • 众鱼深圳网站建设设计师网名叫什么好听
  • 中小学生做试卷的网站6网站建设需要注意哪些细节
  • 以个人名义做地方门户网站社保服务个人网站
  • 上海企业做网站设计制作感悟150字
  • asp.netmvc网站开发ps设计网页
  • win2008 挂网站 404官方网站是什么
  • 网站只做内容 不做外链做姓氏图的网站
  • 中国建设银行信用卡黑名单网站wordpress怎么解密密码
  • 建设银行如何网站设置密码广州网站营销推广
  • 企业做网站的步骤与做网站注意事项四川省住房建设厅网站打不开
  • 网页设计网站规划报告百度文库官网登录入口
  • 郑州医疗网站开发wordpress能注册
  • 创建网站的英语石家庄微信网站建设
  • 分享几个x站好用的关键词微信商城小程序开发一般需要多少钱
  • 做韩国外贸网站wordpress手机版中文
  • 建站群赚钱有前途吗蚌埠北京网站建设
  • 北京网站建设求职简历十堰seo优化教程