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

私自建设网站东营seo网站推广

私自建设网站,东营seo网站推广,商务门户网站怎么做,有些网站做不了seo文章目录 88. 合并两个有序数组题目解题思路解题思路【学习】尾插入法 167. 两数之和 II - 输入有序数组题目解题思路 125. 验证回文串题目解题思路 345. 反转字符串中的元音字母题目解题思路 88. 合并两个有序数组 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums…

文章目录

  • 88. 合并两个有序数组
    • 题目
    • 解题思路
    • 解题思路【学习】
      • 尾插入法
  • 167. 两数之和 II - 输入有序数组
    • 题目
    • 解题思路
  • 125. 验证回文串
    • 题目
    • 解题思路
  • 345. 反转字符串中的元音字母
    • 题目
    • 解题思路

88. 合并两个有序数组

题目

给你两个按 非递减顺序 排列的整数数组 nums1nums2,另有两个整数 mn ,分别表示 nums1nums2 中的元素数目。

请你 合并 nums2nums1 中,使合并后的数组同样按 非递减顺序 排列。

注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。

解题思路

类似于插入排序的思路,将nums2中的元素从左到右依次取出,放在nums1数组的有效位(不包括填充0)的后一位,然后依次向前比较,比前面的数小就交换,直到满足升序要求为止。(可能是简单题目吧,这次解题所花的时间还挺少的hhh。)

class Solution:def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:"""Do not return anything, modify nums1 in-place instead."""for i in range(n):nums1[m+i] = nums2[i]for j in range(m+i, 0, -1):if nums1[j] < nums1[j-1]:nums1[j], nums1[j-1] = nums1[j-1], nums1[j]else:break

解题思路【学习】

尾插入法

image-20230422114856472

顾名思义,从数组尾部开始进行元素的插入。定义i、j、k三个索引,判断nums2[j]nums1[i]的大小,nums2[j]>=nums1[i]则将nums2[j]插入到nums1[k](尾部),然后j、k前移;nums2[j]<nums1[i]则将nums1[i]插入到nums1[k],然后i、k前移。

理解后,我写的解法:

class Solution:def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:"""Do not return anything, modify nums1 in-place instead."""i = m-1j = n-1k = m + n -1while j >= 0:if i == -1: # 此时nums2剩余的数直接填充到nums1前部nums1[k] = nums2[j]j -= 1elif nums2[j] >= nums1[i]:nums1[k] = nums2[j]j -= 1elif nums2[j] < nums1[i]:nums1[k] = nums1[i]i -= 1k -= 1

官方给出的:

class Solution:def merge(self, nums1, m, nums2, n):# 尾插入法 if (n < 1):returnif (m < 1):nums1[0:n] = nums2[0:n]returnk = m + n - 1i = m - 1j = n - 1while k >= 0:if (nums1[i] > nums2[j] and i >= 0) or (j < 0 and i >= 0):nums1[k] = nums1[i]k -= 1i -= 1if (nums2[j] >= nums1[i] and j >= 0) or (i < 0 and j >=0):nums1[k] = nums2[j] k -= 1j -= 1

167. 两数之和 II - 输入有序数组

题目

给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1]numbers[index2] ,则 1 <= index1 < index2 <= numbers.length

以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1index2

你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 重复使用相同的元素。

你所设计的解决方案必须只使用常量级的额外空间。

解题思路

双指针,很简单。直接上代码:

class Solution:def twoSum(self, numbers: List[int], target: int) -> List[int]:i = 0j = len(numbers) - 1while True:sum_ij = numbers[i] + numbers[j]if sum_ij == target:breakif sum_ij > target:j -= 1else:i += 1return [i+1, j+1]

125. 验证回文串

题目

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串

字母和数字都属于字母数字字符。

给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false

解题思路

双指针对撞。isalnum()函数用于判断字符串是否只包含字母数字字符。lower()函数用于返回字符串的小写形式。

class Solution:def isPalindrome(self, s: str) -> bool:i=0j=len(s)-1while i < j:if not s[i].isalnum():i += 1continueif not s[j].isalnum():j -= 1continueif s[i].lower() != s[j].lower():return Falseelse:i += 1j -= 1return True   

345. 反转字符串中的元音字母

题目

给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。

元音字母包括 'a'、'e'、'i'、'o'、'u',且可能以大小写两种形式出现不止一次。

解题思路

同样采用对撞指针。

class Solution:def reverseVowels(self, s: str) -> str:i = 0j = len(s) - 1vowels = ['a', 'e', 'i', 'o', 'u']s_list = list(s)while i < j:if s[i].lower() in vowels:if s[j].lower() in vowels:s_list[i], s_list[j] = s_list[j], s_list[i]i += 1j -= 1else:j -= 1else:i += 1return ''.join(s_list)
http://www.hengruixuexiao.com/news/20148.html

相关文章:

  • 做学校网站会下线吗百度云官网入口
  • 宠物网站设计模板北京网站建设公司
  • 台州做网站哪家好如何给公司网站做推广
  • 东庄水利枢纽建设公司网站重庆seo研究中心
  • 南京html5响应式网站建设关键词推广优化外包
  • 新网站怎样做推广网络推广网站
  • 网站开发 需要用到什么软件西安seo培训学校
  • 完全免费网站源码搜索引擎公司排名
  • 如何在自己网站做直播搜索引擎调词平台价格
  • 怎么在网站上打广告百度网站大全首页
  • 网上推广有哪些方法优化设计一年级下册数学答案
  • 国内用JSP做的网站有哪些宁波网站建设制作报价
  • 绵阳网站开发公司在哪里可以发布自己的广告
  • 网站模板小偷宁波seo网站推广
  • 不想让网站保存密码怎么做网建公司
  • 什么是可信网站认证seo网络营销外包公司
  • 简单网页西安seo关键字优化
  • wordpress彩带背景四川seo优化
  • 网站如何做关键词排名靠前制作网站的平台
  • 福州网站搜索引擎优化网络营销专业是学什么的
  • vps服务器购买网站什么是seo推广
  • 做枸杞的网站建站平台
  • 网站顶部固定怎么做自动收录
  • wordpress chmod网站优化排名易下拉排名
  • 禁止指定ip访问网站百度网盘app下载安装
  • 做网站卖大闸蟹博客网站注册
  • 海口 做网站网络推广营销方法
  • 营销型企业网站诊断软文广告是什么意思
  • 广西奶茶加盟网站建设整站优化深圳
  • 网站制作培训课程亚马逊跨境电商开店流程及费用