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

当今弹幕网站建设情况个人网站 可以做论坛吗

当今弹幕网站建设情况,个人网站 可以做论坛吗,商城类的网站一般怎么做,网络服务商分为哪几类#左耳听风 ARST 打卡活动重启# 目录 一、题目 二、解题方法一 三、解题方法二 关于 ARTS 的释义 —— 每周完成一个 ARTS#xff1a; ● Algorithm: 每周至少做一个 LeetCode 的算法题 ● Review: 阅读并点评至少一篇英文技术文章 ● Tips: 学习至少一个技术技巧 ● Share:…#左耳听风 ARST 打卡活动重启# 目录 一、题目 二、解题方法一 三、解题方法二 关于 ARTS 的释义 —— 每周完成一个 ARTS ● Algorithm: 每周至少做一个 LeetCode 的算法题 ● Review: 阅读并点评至少一篇英文技术文章 ● Tips: 学习至少一个技术技巧 ● Share: 分享一篇有观点和思考的技术文章 希望通过此次活动能聚集一波热爱技术的人延续好奇、探索、实践、分享的精神。   一、题目 给你一个长度为 n 的整数数组 nums 请你判断在 最多 改变 1 个元素的情况下该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的 对于数组中任意的 i (0 i n-2)总满足 nums[i] nums[i 1]。 示例 1: 输入: nums [4,2,3] 输出: true 解释: 你可以通过把第一个 4 变成 1 来使得它成为一个非递减数列。 示例 2: 输入: nums [4,2,1] 输出: false 解释: 你不能在只改变一个元素的情况下将其变为非递减数列。 二、解题方法一 def checkPossibility(nums):for i in range(len(nums) - 1):if nums[i] nums[i 1]:# 如果当前元素比下一个元素大则需要将当前元素减小或将下一个元素增大# 为了只改变一个元素我们可以将当前元素减小到比下一个元素小的最小值# 或者将下一个元素增大到比当前元素大的最小值# 因此我们只需要找到这两个数中的最小值即可return min(nums[i], nums[i 1]) max(nums[i], nums[i 1])# 如果所有元素都满足非递减的条件则返回 Truereturn True这段代码实现了一个函数 checkPossibility,用于判断在最多改变 1 个元素的情况下给定的整数数组是否能变成一个非递减数列。 函数的输入参数为一个整数数组 nums。 首先我们使用一个循环遍历数组中的每个元素 i,并检查当前元素 nums[i] 是否比下一个元素 nums[i 1] 大。如果是则说明当前元素需要被修改以使得整个数组能够变成非递减数列。 为了只改变一个元素我们可以将当前元素 nums[i] 减小到比下一个元素 nums[i 1] 小的最小值或者将下一个元素 nums[i 1] 增大到比当前元素 nums[i] 大的最小值。因此我们只需要找到这两个数中的最小值即可。 具体来说我们可以使用 Python 内置函数 min() 来找到两个数中的最小值。如果这个最小值小于等于另一个数则说明它们可以相等即不需要进行任何操作否则我们需要将较小的那个数减小到等于较大的那个数。 最后如果所有元素都满足非递减的条件则返回 True;否则返回 False。 三、解题方法二 另一种解决方法是使用双指针法。具体来说我们可以定义两个指针 left 和 right,分别指向数组的开头和结尾。然后我们从左到右遍历数组中的每个元素并检查当前元素是否小于等于右边的元素。如果是则说明当前元素需要被修改以使得整个数组能够变成非递减数列。 为了只改变一个元素我们可以将当前元素 nums[i] 减小到比右边的元素 nums[j] 小的最小值或者将右边的元素 nums[j] 增大到比当前元素 nums[i] 大的最小值。因此我们只需要找到这两个数中的最小值即可。 具体来说我们可以使用双指针法来实现这个算法。首先我们将 left 指针指向数组的第一个元素将 right 指针指向数组的最后一个元素。然后我们从左到右遍历数组中的每个元素 i,并检查当前元素是否小于等于右边的元素 nums[j]。如果是则说明当前元素需要被修改我们需要移动 left 指针到下一个位置并更新左边的最小值否则我们需要移动 right 指针到前一个位置并更新右边的最小值。最后如果所有元素都满足非递减的条件则返回 True;否则返回 False。 这个算法的时间复杂度为 O(n),其中 n 为数组的长度。 def checkPossibility(nums):left, right 0, len(nums) - 1for i in range(len(nums)):while left right and nums[left] nums[i]:# 如果左边的元素比当前元素大则将左边的指针向右移动一位left 1while left right and nums[right] nums[i]:# 如果右边的元素比当前元素小则将右边的指针向左移动一位right - 1if left right:# 如果左边的指针已经到达了数组的末尾说明无法通过修改元素使得整个数组变成非递减数列return False# 将当前元素修改为左边和右边中的最小值以满足非递减的条件nums[i] min(nums[left], nums[right])return True
http://www.yutouwan.com/news/81809/

相关文章:

  • 做狗狗网站的背景图设计院都是带编制的吗
  • 网站登录注册做验证码的目地海南在线直播
  • 做词频分析的网站wordpress区块链插件
  • 遵义市城乡建设局安管人员考试网站制作网站教学
  • 曲靖房地产网站开发十秒折一个萝卜刀
  • vivo官网网站服务中心个人网页设计思维导图
  • 贵阳网站开发方舟网络哪些网站设计的比较好
  • 手机销售网站模板seo优化关键词排名
  • 沈阳网站建设开发设计公司网站建设应该学什么
  • 保险网站源码网页制作基础教程做不出来
  • 建网站可以用企业qq吗武功做网站
  • 中国临海门户网站工程建设潍坊站总站人工服务电话
  • 租用网站服务器价格网站源码建设模板
  • 河南营销型网站网站改版策划方案
  • 在家给别人做网站合法吗在百度如何发布作品
  • c2c网站代表和网址更改域名代理商对网站有影响吗
  • wordpress当下载站不同域名一样的网站
  • 黑龙江建设人员证件查询网站wordpress快速发布
  • 华强北 网站建设wordpress 分类 评论
  • 河北省网络科技网站网站界面设计规划
  • 手机网站 用户体验有什么网站可以做微信app
  • 网站建设费算不算固定资产ui设计软件下载
  • 上海网站设计团队wordpress标签关注
  • 做违法网站程序员犯法吗天津港建设公司官网
  • 公司网站如何做分录孝感网站建设xgsh
  • 免费cms网站管理系统学做各种糕点的网站
  • 网站优化工作怎么样湖南手机版建站系统哪个好
  • 小网站建设装修公司哪家好一些呢
  • 郑州做网站优化四川建设厅官方网站九大员通知
  • mvc做门户网站建设项目验收在哪个网站公示