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

论坛网站免费建设模板光之翼可以做网站吗

论坛网站免费建设模板,光之翼可以做网站吗,烟台seo网站推广费用,ui是什么意思文章目录 88. 合并两个有序数组题目解题思路解题思路【学习】尾插入法 167. 两数之和 II - 输入有序数组题目解题思路 125. 验证回文串题目解题思路 345. 反转字符串中的元音字母题目解题思路 88. 合并两个有序数组 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums… 文章目录 88. 合并两个有序数组题目解题思路解题思路【学习】尾插入法 167. 两数之和 II - 输入有序数组题目解题思路 125. 验证回文串题目解题思路 345. 反转字符串中的元音字母题目解题思路 88. 合并两个有序数组 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2另有两个整数 m 和 n 分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中使合并后的数组同样按 非递减顺序 排列。 注意最终合并后数组不应由函数返回而是存储在数组 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[mi] nums2[i]for j in range(mi, 0, -1):if nums1[j] nums1[j-1]:nums1[j], nums1[j-1] nums1[j-1], nums1[j]else:break解题思路【学习】 尾插入法 顾名思义从数组尾部开始进行元素的插入。定义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 - 1167. 两数之和 II - 输入有序数组 题目 给你一个下标从 1 开始的整数数组 numbers 该数组已按 非递减顺序排列 请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] 则 1 index1 index2 numbers.length 。 以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。 你可以假设每个输入 只对应唯一的答案 而且你 不可以 重复使用相同的元素。 你所设计的解决方案必须只使用常量级的额外空间。 解题思路 双指针很简单。直接上代码 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 [i1, j1]125. 验证回文串 题目 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s如果它是 回文串 返回 true 否则返回 false 。 解题思路 双指针对撞。isalnum()函数用于判断字符串是否只包含字母数字字符。lower()函数用于返回字符串的小写形式。 class Solution:def isPalindrome(self, s: str) - bool:i0jlen(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.hkea.cn/news/14452043/

相关文章:

  • 超能力联盟网站养一个空壳公司的好处
  • 社交网站推广怎么做网建什么意思
  • 固定ip做网站和域名区别网站设计确认
  • 动易 网站顶部导航 sitefactory免费设计签名的软件
  • 网站设计公司南京内乡微网站开发
  • 网站前台的网址快速网页制作工具
  • 关于申请网站建设WordPress主题使用域名加密
  • app推广平台网站凡科建站弊端
  • 企业查询网站企查查营销型网站代理
  • 宁波网站建设制作公司排名2015微信网站
  • 深圳专业建站平台怎么做直播网站的超管
  • 做风筝网站企业网络服务
  • 如何搭建asp网站app开发需要多少费用
  • 免费下载的appseo服务优化
  • 医药网站建设需要注意点百度seo优化教程
  • 北京免费自己制作网站公司免费招聘网站
  • 关于写策划的一个网站wordpress微信支付购买课程
  • 南浔区住房和城乡建设局网站网站建设入门培训
  • 追星做网站wordpress 仿牛杂
  • 如何做网站建设方案企业网络推广最简单方法
  • 微网站用什么做网站建设三网合一指的是什么
  • 淘客手机网站源码室内装饰设计网站
  • 珠海网站快速排名提升北京网站制建设公司
  • 南通网站建设知识crm办公系统
  • 便捷的网站建设软件vue做的网站模板
  • 如何申请免费的网站百度收录网站
  • 山东岩海建设资源有限公司网站dw做网站链接
  • 苏州网站排名优化吴江城乡住房和城乡建设局网站
  • wordpress建站博客园深圳莲花大厦住房和建设局网站
  • 建设银行开县支行 网站wordpress手机登陆