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

专业营销网站制作wordpress 影楼主题

专业营销网站制作,wordpress 影楼主题,网站推广的最终目的是什么,永康网站建设制作📝前言说明: 本专栏主要记录本人的基础算法学习以及LeetCode刷题记录,按专题划分每题主要记录:(1)本人解法 本人屎山代码;(2)优质解法 优质代码;&#xff…

📝前言说明:

  • 本专栏主要记录本人的基础算法学习以及LeetCode刷题记录,按专题划分
  • 每题主要记录:(1)本人解法 + 本人屎山代码;(2)优质解法 + 优质代码;(3)精益求精,更好的解法和独特的思想(如果有的话)
  • 文章中的理解仅为个人理解。如有错误,感谢纠错

🎬个人简介:努力学习ing
📋本专栏:C++刷题专栏
📋其他专栏:C语言入门基础,python入门基础,C++学习笔记,Linux
🎀CSDN主页 愚润泽

题目

  • 面试题 01.01. 判定字符是否唯一
    • 个人解
  • 268. 丢失的数字
    • 个人解
  • 371. 两整数之和
    • 优质解
  • 137. 只出现一次的数字 II
    • 个人解
  • 面试题 17.19. 消失的两个数字
    • 个人解
    • 优质解


面试题 01.01. 判定字符是否唯一

题目链接:https://leetcode.cn/problems/is-unique-lcci/description/
在这里插入图片描述

个人解

思路:

  • 不使用额外的数据结构,但是我们可以用一个整型的比特位来存储
  • a 存在第 0 个bit位,也就是:hash >> 0
  • 0 代表没有出现过,1 代表出现过了
  • 每个字符本质是一个 ASCII 的一个整型
  • 注意优先级 == 优先级高于 >>, 建议多加括号

用时:10:00
屎山代码:

class Solution {
public:bool isUnique(string astr) {int n = astr.size(), hash = 0;if(n > 26)return false;for(auto c: astr){int location = c - 'a';if(((hash >> location) & 1) == 0) hash |= (1 << location); // 对应位置为 0 ,改为 1elsereturn false;}return true;}
};

时间复杂度:O(n)
空间复杂度:O(1)


268. 丢失的数字

题目链接:https://leetcode.cn/problems/missing-number/description/
在这里插入图片描述

个人解

思路:

  • “创建” 一个包含 0 - n所有元素的数组(没必要真的创建)
  • 然后两个数组的所有元素做 ^ 运算
  • 因为 a ^ a == 0,所以最后得到的就是没有出现的数
  • 当然,这道题排序 + 二分也行(但是排序时间复杂度 : O(nlogn)

用时:5:00
屎山代码:

class Solution {
public:int missingNumber(vector<int>& nums) {int n = nums.size(), ans = 0;for(auto x:nums)ans ^= x;for(int i = 0; i <= n; i++)ans ^= i;return ans;}
};

时间复杂度:O(n)
空间复杂度:O(1)


371. 两整数之和

题目链接:https://leetcode.cn/problems/sum-of-two-integers/description/
在这里插入图片描述


这道题没写出来

优质解

思路:

  • 不能使用+-,那么就使用位运算
  • 对于每一位:异或运算(a ^ b)==无进位相加(就是不管进位,只保留当前为相加结果),那么进位怎么处理呢?
  • 因为只有1 1的时候才有进位,所以我们可以用 &
  • 对于每一个相加的位:当且仅有1 & 1 == 1,这时候就代表有进位
  • 注意进位是往前进位,所以要 << 1,即:(a & b) << 1得到进位
  • 无进位 + 进位就是答案,但是,因为有可能这两个数相加的时候也出现进位,所以要重复上面的操作,直到进位为0

代码:

class Solution {
public:int getSum(int a, int b) {int carry = (a & b) << 1; // 进位int s = a ^ b; // 无进位相加while(carry != 0){int newcarry = (s & carry) << 1; // 进位(在 s 改变前,算出本次进位)s ^= carry; // 加上进位 carry = newcarry;}return s;}
};

时间复杂度:O(log(max_int))
空间复杂度:O(1)


137. 只出现一次的数字 II

题目链接:https://leetcode.cn/problems/single-number-ii/description/
在这里插入图片描述

个人解

思路:

  • 把每个数的每个比特位拿出来看,依次计算答案的每一个比特位
  • 对于非答案数:因为每个比特位出现三次且相同,即:3个0,或者3个1,%3 == 0
  • 所以我们只需要将所有输数的比特位相加,然后%3得到的就是答案的当前比特位的值

代码:

class Solution {
public:int singleNumber(vector<int>& nums) {int ans = 0;for(int i = 0; i < 32; i++){int s = 0; // 当前比特位所有数相加的结果for(auto x: nums){s += (x >> i) & 1;}ans |= ((s % 3) << i);}return ans;}
};

时间复杂度:O(n)
空间复杂度:O(1)


面试题 17.19. 消失的两个数字

题目链接:https://leetcode.cn/problems/missing-two-lcci/description/
在这里插入图片描述

个人解

思路:

  • 这道题就等于:第268题 + 第260题。这两道题都写过,我就不多说了。

用时:15:00
屎山代码:

class Solution {
public:vector<int> missingTwo(vector<int>& nums) {int s = 0, n = nums.size();for(auto x: nums)s ^= x;for(int i = 1; i <= n + 2; i++)s ^= i;// 此时 s == a ^ bunsigned int lowbit = s & (-s);int a = 0, b = 0;for(auto x: nums){if(x & lowbit)a ^= x;elseb ^= x;}for(int i = 1; i <= n + 2; i++){if(i & lowbit)a ^= i;elseb ^= i;}return {a, b};}
};

时间复杂度:O(n)
空间复杂度:O(1)


优质解

和我的思路大差不差。


🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

http://www.dtcms.com/wzjs/785232.html

相关文章:

  • 做商城网站数据库分类该有哪些网站开发制作包括哪些的基本流程
  • 网站建设功能报价用wordpress如何做网页
  • 常州网站建设企业网站制作图片瀑布流网站源码
  • 如何办好公司网站网站程序和数据库
  • 太原手手工网站建设公司南京网络程序开发公司
  • php盗版视频网站怎么做的北京电商网站排行
  • 东莞建设培训中心网站mt4网站可做黄金交易
  • 架设仿冒网站挂马网页制作全部过程
  • 网站网络优化服务建站最好的
  • 站长工具查询域名wordpress shop主题
  • 湖北勘察设计协会网站网站浏览排名
  • 国外中文网站排行榜单全国专业做美术网站的公司
  • 网站开发交易网站wordpress 电影 插件
  • 广州白云区建站外贸公司怎么建网站自己做赌场
  • 网站开发前端后端创意设计理念
  • 唐山建设工程信息网站深圳福永网站建设公司
  • 做名片的网站wordpress后台登录页
  • 深圳网站设计 创同盟做性视频网站有哪些内容
  • 途牛的旅游网站是谁做的论坛推广工具
  • 一个网站两个数据库flash做网站轮播图
  • 计算机网络资源网站建设论文网络公司网站源码 网络建设工作室网站模板 织梦广告设计公司源码
  • 淮安专业做网站wordpress 去掉谷歌
  • 如何设置网站服务器绘图软件免费版
  • 泰州网站开发公司ui设计稿
  • 山东省建筑信息平台seo排名优化技术
  • 做加工都在哪个网站推广微商刚起步怎么找客源
  • 企业网站 响应式昆明公司网站建设
  • 网站营销公司哪家好有没有专做烘焙的网站
  • 东港建站公司装修设计软件酷家乐
  • 不备案怎么做网站分销pc网站