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

全中文网站开发东莞网络排名优化

全中文网站开发,东莞网络排名优化,2017网站设计趋势,福田做网站优化乐云seo题目一:移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不…

题目一:移除元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。

不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

from typing import List
class Solution:def removeElement(cls, nums: List[int], val: int) -> int:fast = slow = 0while fast<len(nums):if nums[fast] != val:nums[slow]=nums[fast]fast=fast+1slow=slow+1else:fast=fast+1return slowif __name__ == '__main__':s=Solution()s.removeElement(nums=[1,2,3,4,2,3,4],val=2)

题目二:删除有序数组中的重复项

给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。

class Solution:def removeDuplicates(self, nums: List[int]) -> int:slow=0fast=1while fast<len(nums):if nums[slow]==nums[fast]:fast=fast+1else:slow=slow+1nums[slow]=nums[fast]fast=fast+1return slow+1

题目三:删除有序数组中的重复项 II

给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。

from typing import List
class Solution:def removeDuplicates(self, nums: List[int]) -> int:slow=0fast=1count=1while fast<len(nums):if nums[slow] == nums[fast]:count=count+1if count<=2:slow=slow+1nums[slow]=nums[fast]fast=fast+1else:fast = fast + 1elif nums[slow] != nums[fast] :count=1slow = slow+1nums[slow] = nums[fast]fast = fast+1print(nums)print(slow+1)return slow+1if __name__ == '__main__':s=Solution()s.removeDuplicates(nums=[1,1,1,2,2,2,3])

优化:

from typing import List
class Solution:def removeDuplicates(self, nums: List[int]) -> int:slow=2fast=2while fast<len(nums):if nums[fast] != nums[slow-2]:nums[slow]=nums[fast]slow=slow+1fast=fast+1else:fast=fast+1return slowif __name__ == '__main__':s=Solution()s.removeDuplicates(nums=[1,1,1,2,2,2,3])

题目四:移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

from typing import List
class Solution:def moveZeroes(self, nums: List[int]) -> None:slow=0for fast in range(len(nums)):if nums[fast] != 0:nums[slow] = nums[fast]slow=slow+1for item in  range(slow,len(nums)):nums[item]=0return numss=Solution()
print(s.moveZeroes(nums=[0,1,0,3,4,7]))# 不为0的先移到前面,后面的都补为0

题目五:比较含退格的字符串

给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true 。# 代表退格字符。

注意:如果对空文本输入退格字符,文本继续为空。

class Solution:def getString(self,sc):bz=[]for item in sc:if item != '#':bz.append(item)elif len(bz)>0:bz.pop()print(bz)return str(bz)def backspaceCompare(self, s: str, t: str) -> bool:return self.getString(sc=s) == self.getString(sc=t)# 使用栈,等于#时就出栈(需要注意空栈时不能在出栈),不等于#时则入栈。

题目六:有序数组的平方

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。

from typing import List
class Solution:def sortedSquares(self, nums: List[int]) -> List[int]:for i in range(len(nums)):nums[i] = nums[i]**2a=len(nums)-1low,high=0,ares = [-1]*len(nums)while low<=high:if nums[low]>nums[high]:res[a] = nums[low]low=low+1else:res[a] = nums[high]high = high-1a=a-1return ress=Solution()
print(s.sortedSquares(nums=[-6,-4,-3,0,1,2,3,5]))
# 左右哦两端开始遍历,用一个列表来存放遍历结果。
# 原列表的low比high大,就把该数据放到res末尾
# 原列表low比high小,就把high放到res前面

http://www.dinnco.com/news/31924.html

相关文章:

  • 东莞网站建设推广多少钱磁力天堂torrentkitty
  • 网站开发实训心得体会平台推广费用一般是多少
  • 电商平台商城系统搭建搜索引擎优化是指什么
  • 给公司做网站的公司整合营销传播策略
  • 攻击自己做的网站网络销售适合什么人做
  • 江苏建设教育网站百度快照推广有效果吗
  • 网站建设领导小组全国疫情排行榜最新情况列表
  • 做网站在手机端预览乱码了百度链接提交收录入口
  • 中国建设银行网上银行官方网站网站推广步骤
  • 微信020网站怎么建立什么是搜索引擎销售
  • 免费域名怎么做网站免费推广网站排名
  • 成都网站排名关键词包括哪些内容
  • 网站建设与管理方案书第三方网络营销平台有哪些
  • 自己建立网站后怎么做淘客搜索引擎优化自然排名的优点
  • 云南营销型网站建设长春做网站推广的公司
  • 网站建设怎样把网页连接起来合肥做网站哪家好
  • 县政府网站网建设方案知乎怎么申请关键词推广
  • 乔拓云微信小程序seo排名优化推广
  • 有路由器做网站账户竞价托管哪里好
  • 自己做产品品牌网站短视频平台推广方案
  • 网站建设需要的一些技术怎么在线上推广自己的产品
  • 网站域名禁止续费网络营销方法和手段
  • 做企业网站需要买什么站长工具使用方法
  • 纯静态网站 维护百度的客服电话是多少
  • app开发哪家公司比较专业优化设计答案六年级上册
  • 有哪些公司做网站搜索引擎优化专员
  • 云南网站的设计公司简介上海最大的seo公司
  • 那个网站的是做vb题目的百度小说风云排行榜
  • 武汉公司建站模板seo优化sem推广
  • 行业门户网站程序友情链接网站