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

响水做网站价格网址查询ip地址

响水做网站价格,网址查询ip地址,企业网站建设费用需要多少钱,陕西煤业化工建设集团网站刷题日记Day2 977 有序数组的平方209. 长度最小的子数组59. 螺旋矩阵 II 977 有序数组的平方 链接:https://leetcode.cn/problems/squares-of-a-sorted-array/description/ 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组…

刷题日记Day2

    • 977 有序数组的平方
    • 209. 长度最小的子数组
    • 59. 螺旋矩阵 II

977 有序数组的平方

链接:https://leetcode.cn/problems/squares-of-a-sorted-array/description/

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

思路:分三种情况
-1. 全正,直接返回原数组平方
-2. 全负,返回原数组平方的逆序
-3. 有正有负
(1)寻找中间点位(绝对值从小变大的起点或者相邻乘积<=0的位置)
(2)左指针为mid-1 ,右指针为mid + 1
(3) 转换为两个有序数组合并问题
(4) 注意点:等其中一个结束后要把未结束的那个剩余的数字全部追加到最后

class Solution:def sortedSquares(self, nums: List[int]) -> List[int]:snums = [num * num for num in nums]if nums[0] >= 0:return snumselif nums[-1] <=0:return list(reversed(snums))mid = 0for i in range(len(nums)-1):if (nums[i] * nums[i+1])<=0:if abs(nums[i]) < nums[i+1]:mid = ielse:mid = i + 1left = mid - 1right = mid + 1ans = [snums[mid]]# print("========")# print(ans)# print("========")while left >=0 and right <= len(nums)-1:if snums[left] < snums[right]:ans.append(snums[left])left -= 1else:ans.append(snums[right])right += 1# print(ans, left ,right)if left == -1:ans.extend(snums[right:])elif right == len(nums):ans.extend(list(reversed(snums[:left+1])))return ans

209. 长度最小的子数组

链接:https://leetcode.cn/problems/minimum-size-subarray-sum/description/

给定一个含有 n 个正整数的数组和一个正整数 target 。
找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。

思路:双指针,右指针探路,选择区间内满足条件的,满足后,左指针移动,找到最小满足的,以此类推
难点:边界条件处理

代码实现

class Solution:def minSubArrayLen(self, target: int, nums: List[int]) -> int:left = 0right = 0 length = len(nums)ans = 1e5 +1temp = nums[0]while right < len(nums):if temp < target:right += 1if right != len(nums):temp += nums[right]# print("==", left, right, nums[left:right+1], ans)else: ans = min(ans, right + 1 -left)temp -= nums[left]left += 1      # print("****", left, right, nums[left:right+1], ans)while left <=right and temp >= target:ans = min(ans, right + 1 -left)temp -= nums[left]left += 1          # print("@@@", left, right, nums[left:right+1], ans)if ans == 1e5+1:return 0return ans

59. 螺旋矩阵 II

链接:https://leetcode.cn/problems/spiral-matrix-ii/description/

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。

思路:模拟,设置上下左右四个方向,注意方向的设置必须按照顺时针,即右-》下-》左-》上循环往复,碰壁则调转方向。
Python代码实现

class Solution:def generateMatrix(self, n: int) -> List[List[int]]:if n == 1:return [[1]]# temp = list(range(1, n*n +1))# print(temp)# ans = [[0]*n] *n   谁这样写谁是笨蛋# print(ans)ans = [[0] * n for _ in range(n)]# print(ans)# 右下左上 顺时针方向direc = [[0,1], [1,0],[0, -1], [-1,0]]row, col, idx = 0, 0, 0for i in range(n * n):ans[row][col] = i + 1dx, dy = direc[idx]r, c = row + dx, col + dyif r< 0 or r>= n or c<0 or c >=n or ans[r][c]>0:# 碰壁了,顺时针旋转方向idx = (idx+1)% 4dx, dy = direc[idx]row, col = row + dx, col +dy# print(ans)return ans
http://www.ds6.com.cn/news/10585.html

相关文章:

  • 网站的内容包括什么百度一下就知道官方网站
  • 郴州市委官网奉节县关键词seo排名优化
  • 想在拼购网站做产品网站推广工具
  • 网站建设推广代理软文发稿网
  • 宿迁网站建设开发优化服务平台
  • 医院做网站的好处aso优化贴吧
  • 滨湖区知名做网站选哪家百度做广告怎么收费
  • 宣传片制作网站外链工具软件
  • 单位网站建设费用账务处理口碑营销策略有哪些
  • 爱墙 网站怎么做推广引流app
  • 建设网站的技术手段北京网络优化
  • 广西壮族自治区专升本业务系统优化大师app下载
  • 泊头做网站电话网络推广渠道公司
  • 选择ssm框架做网站的好处友情链接的形式有哪些
  • 微信微网站开发教程互联网网站
  • 国内做焊接机器人平台网站百度电话客服24小时
  • 上海网站建设服务多少钱长春网站建设方案报价
  • 北京商地网站建设公司新闻软文怎么写
  • window2008 网站建设南昌seo网站排名
  • 上海公司黄页网站怎样下载优化大师
  • 泰安网站建设流程小红书软文案例
  • 电商网站模块设计腾讯广告联盟官网
  • 网站首页图片怎么做百度榜单
  • 之梦英语版网站怎么做怎么做一个网页
  • 网站开发需要干什么做网站设计哪里有
  • 网站代理 正规备案怎么制作个人网站
  • 金华网站建设方案优化网站seo排名优化软件
  • 网站在线问答怎么做网站推广的基本方法是
  • 购物网站建设工作流程清远新闻最新
  • 工商网站如何做企业增资不受限制的搜索浏览器