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

做商务网站需要什么资料seo网站推广简历

做商务网站需要什么资料,seo网站推广简历,网站建设指南,公司局域网搭建leetcode刷题 面试经典150 27. 移除元素 难度:简单 文章目录 一、题目内容二、自己实现代码2.1 方法一:直接硬找2.1.1 实现思路2.1.2 实现代码2.1.3 结果分析 2.2 方法二:排序整体删除再补充2.1.1 实现思路2.1.2 实现代码2.1.3 结果分析 三、…

leetcode刷题
面试经典150
27. 移除元素
难度:简单

文章目录

  • 一、题目内容
  • 二、自己实现代码
    • 2.1 方法一:直接硬找
      • 2.1.1 实现思路
      • 2.1.2 实现代码
      • 2.1.3 结果分析
    • 2.2 方法二:排序整体删除再补充
      • 2.1.1 实现思路
      • 2.1.2 实现代码
      • 2.1.3 结果分析
  • 三、 官方解法
    • 3.1 双指针
      • 3.1.1 算法实现
      • 3.1.2 代码实现
      • 3.1.3 代码分析
    • 3.2 通用的
  • 四、一些注意的地方

一、题目内容

给你一个数组 nums 和一个值 v a l val val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。

假设 nums 中不等于 v a l val val 的元素数量为 k k k,要通过此题,您需要执行以下操作:

  • 更改 nums 数组,使 nums 的前 k k k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的大小并不重要。
  • 返回 不相等的元素数 k k k

二、自己实现代码

2.1 方法一:直接硬找

2.1.1 实现思路

  • 遍历 nums 列表
  • 找到相等的元素,把这往后的所有元素往前移动,最后一个元素记录为 ‘-’
  • 但是,可能往前移动的时候,会有两个相等元素相邻的情况,所以外面加了while判断一下

2.1.2 实现代码

class Solution(object):def removeElement(self, nums, val):""":type nums: List[int]:type val: int:rtype: int"""k = 0while(val in nums):for i in range(len(nums)):if nums[i] == val:k += 1for j in range(len(nums)-i-1):nums[i+j] = nums[i+j+1]nums[len(nums)-k] = "-"return len(nums) - k

2.1.3 结果分析

在这里插入图片描述

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

2.2 方法二:排序整体删除再补充

2.1.1 实现思路

  • 找到有多少个不用的元素
  • 将所有 v a l val val删掉
  • 在删除后的nums上补充“-”

2.1.2 实现代码

class Solution(object):def removeElement(self, nums, val):""":type nums: List[int]:type val: int:rtype: int"""nums.sort()diff = len(nums) - nums.count(val)while val in nums:nums.remove(val)for i in range(diff):   nums.append("-")return diff

2.1.3 结果分析

在这里插入图片描述

三、 官方解法

官方用了双指针来求
但是平时用python习惯了
虽然知道指针好
但是好难养成用指针的习惯呀
参考了宫水三叶的解法,并转换为了python版本
https://leetcode.cn/problems/remove-element/solutions/575555/shua-chuan-lc-shuang-bai-shuang-zhi-zhen-mzt8/

3.1 双指针

3.1.1 算法实现

分成两个阶段

  1. 前面:存储不等于 v a l val val的元素
  2. 后面:存储= v a l val val的元素
  • 直接一个新的 j j j,相等的跳过,不相等的往下填写到数组里进行覆盖

3.1.2 代码实现

class Solution(object):def removeElement(self, nums, val):""":type nums: List[int]:type val: int:rtype: int"""j = 0for i in range(len(nums)):if nums[i] != val:nums[j] = nums[i]j += 1return j

3.1.3 代码分析

在这里插入图片描述

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

3.2 通用的

和26题目解法有关,还没有写到,等写到了再看吧

四、一些注意的地方

  1. 多想一想双指针,用下来真的会方便好多
http://www.hrbkazy.com/news/56957.html

相关文章:

  • 学网页设计需要什么学历sem优化
  • 人大网站平台信息化建设天津seo
  • excel做网站链接seo快速入门教程
  • 有没有淄博张店做兼职工作的网站山西太原百度公司
  • 做网站可以用什么语言官网seo是什么
  • 范县网站建设b站2023推广网站
  • java开发网站开发书搜索引擎营销推广
  • 做百度推广合肥网站建设优化
  • 淮阳网站建设app推广在哪里可以接单
  • 奉节网站建设it培训机构排名前十
  • 阳江招聘网站大全网站接广告
  • 网推是干嘛的东莞百度seo关键词优化
  • 国外做免费的视频网站百度 官网
  • 大气简约企业网站模板免费下载滨州seo招聘
  • 网站模板怎么套用武汉最新疫情
  • 山东网站排名优化公司百度网站优化公司
  • 邯郸网站建设做公司餐饮店如何引流与推广
  • 网站建设的相关政策中国十大网站
  • 免费做app的网站哪个好百度灰色关键词代发
  • 网站设计模板源码蚌埠seo外包
  • 网站备案是 备案空间吗seo推广代理
  • 深圳哪里有做网站推广的nba最新交易汇总
  • 建设官方网站查询重庆seo网站系统
  • 用rp做网站不用写前段代码石家庄头条今日头条新闻
  • 门户网站建设方案真正永久免费的建站系统有哪些
  • 建一个网站的流程百度热门搜索排行榜
  • jsp做的零食小网站深圳网络营销推广
  • docker 做网站抖音推广公司
  • 盱眙在仕德伟做网站的有几家谷歌chrome安卓版
  • 购物网站线下推广办法今日热点新闻10条