题目描述:

自己的提交:

  1. class Solution:
  2. def transformArray(self, arr: List[int]) -> List[int]:
  3. if len(arr) < 3: return arr
  4. flag = True
  5. while flag:
  6. tmp = []
  7. tmp.append(arr[0])
  8. for i in range(1,len(arr)-1):
  9. if arr[i] > arr[i-1] and arr[i] > arr[i+1]:
  10. tmp.append(arr[i] - 1)
  11. elif arr[i] < arr[i-1] and arr[i] < arr[i+1]:
  12. tmp.append(arr[i] + 1)
  13. else:
  14. tmp.append(arr[i])
  15. tmp.append(arr[-1])
  16. if arr == tmp:
  17. flag = False
  18. arr = tmp
  19. return arr

优化:

  1. class Solution:
  2. def transformArray(self, A: List[int]) -> List[int]:
  3. change = 1
  4. n = len(A)
  5. while change:
  6. change = 0
  7. B = A[:]
  8. for i in range(1, n - 1):
  9. if A[i-1] < A[i] > A[i+1]:
  10. B[i] -= 1
  11. change = 1
  12. if A[i-1] > A[i] < A[i+1]:
  13. B[i] += 1
  14. change = 1
  15. A = B
  16. return B

leetcode-12双周赛-1243-数组变换的更多相关文章

  1. LeetCode 1243 数组变换

    地址 https://leetcode-cn.com/contest/biweekly-contest-12/problems/array-transformation/ 首先,给你一个初始数组 ar ...

  2. LeetCode:寻找旋转排序数组中的最小值【153】

    LeetCode:寻找旋转排序数组中的最小值[153] 题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0 ...

  3. 【LeetCode】搜索旋转排序数组【两次二分】

    假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ). 搜索一个给定的目标值,如果数组中存在这个目标值, ...

  4. Leetcode题库——6.Z字形变换

    @author: ZZQ @software: PyCharm @file: convert.py @time: 2018/9/20 20:12 要求: Z字形变换 将字符串 "PAYPAL ...

  5. LeetCode 81——搜索旋转排序数组 II

    1. 题目 2. 解答 2.1. 方法一 基于 LeetCode 33--搜索旋转排序数组 中的方法二. 当 nums[mid] = nums[right] 时,比如 [1, 1, 2, 1, 1], ...

  6. LeetCode:搜索旋转排序数组【33】

    LeetCode:搜索旋转排序数组[33] 题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2]  ...

  7. Leetcode(6)Z字形变换

    Leetcode(6)Z字形变换 [题目表述]: 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" ...

  8. leetcode 12题 数字转罗马数字

    leetcode 12题 数字转罗马数字 答案一:我的代码 代码本地运行完全正确,在线运行出错 class Solution { public: string intToRoman(int num) ...

  9. [每日一题2020.06.16] leetcode双周赛T3 5423 找两个和为目标值且不重叠的子数组 DP, 前缀和

    题目链接 给你一个整数数组 arr 和一个整数值 target . 请你在 arr 中找 两个互不重叠的子数组 且它们的和都等于 target .可能会有多种方案,请你返回满足要求的两个子数组长度和的 ...

随机推荐

  1. 对struct typedef *的认识

    typedef struct node { ……… }NODE,*PNODE; 应该等价于 typedef struct node NODE;//struct node = NODE,eg:struc ...

  2. python2和python3中TestSuite().addTest的区别

    Python2中unittest.TestSuite().addTest()的参数是这样的:unittest.TestSuite().addTest(TestFun("test_nam&qu ...

  3. 矩阵(R语言)

    mymatrix <- matrix(vector, nrow=number_of_rows, ncol=number_of_columns,byrow=logical_value,dimnam ...

  4. Python学习总结笔记

    # windows python -m http.server [<portNo>] # linux python -m SimpleHTTPServer [<portNo>] ...

  5. 【leetcode】991. Broken Calculator

    题目如下: On a broken calculator that has a number showing on its display, we can perform two operations ...

  6. kubernetes集群中移除Node

    例如要在集群中移出node2节点1)在master节点上执行: kubectl drain node2 --delete-local-data --force --ignore-daemonsets ...

  7. %d format: a number is required, not str。

    python代码: attr_sql = "INSERT INTO `ym_attribute` (`attr_name`, `type_id`, `attr_value`, `attr_s ...

  8. Gson extend 思路

    package org.rx.core.internal; import com.google.gson.*; import net.sf.cglib.proxy.Enhancer; import n ...

  9. gulp压缩css

    gulp压缩css,选用的依赖是gulp-clean-css,在压缩大型项目时还对用到一个dom流压缩文件选取的依赖gulp-dom-src 依赖安装:npm i gulp-clean-css 依赖安 ...

  10. 框架-.Net:.NET框架

    ylbtech-框架-.Net:.NET框架 .NET框架(.NET Framework) 是由微软开发,一个致力于敏捷软件开发(Agile softwaredevelopment).快速应用开发(R ...