码迷,mamicode.com
首页 > 其他好文 > 详细

ARTW-week3

时间:2019-11-10 15:29:41      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:share   ram   tco   amp   sorted   self   元素   cmd   cat   

Algorithm

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

Remove Duplicates from Sorted Array

# 解1,时间复杂度O(n2)
class Solution:??? 
    def removeDuplicates(self, nums: list) -> int:
        for i in range(len(nums)-1,0,-1):??????????? 
            if nums[i] == nums[i-1]:??????
                nums.pop(i)?????????????????? ???????
        return len(nums)
  
  
# 解2,时间复杂度O(n)
class Solution:??? 
    def removeDuplicates(self, nums: list) -> int:??????? 
        i = 0??????? 
        for j in range(0,len(nums)):???????????
            if nums[i] != nums[j]:? ??????????????? 
                nums[i+1] = nums[j]??????????????? 
                i += 1??????? 
        return i+1 if nums else 0

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。
输入: [1,2,3,4,5,6,7] 和 k = 3
输出: [5,6,7,1,2,3,4]
解释:向右旋转 1 步: [7,1,2,3,4,5,6]
向右旋转 2 步: [6,7,1,2,3,4,5]
向右旋转 3 步: [5,6,7,1,2,3,4]

Rotate Array

# 解1,数组拼接,空间复杂度O(n)
class Solution:??? 
    def rotate(self, nums: list, k: int) -> None:??????? 
        k %= len(nums)??????? 
        nums[:] = nums[-k:] + nums[:-k]??????? 
        return nums
        
        
 # 解2,3次翻转,空间复杂度O(1)
class Solution:??? 
    def rotate(self, nums: list, k: int) -> None:??????? 
        k, start, end = k % len(nums), 0, len(nums) - 1??????? 
        self._reverse(nums, start, end - k)??????? 
        self._reverse(nums, end-k+1, end)??????? 
        self._reverse(nums, start, end)??? 
    
    def _reverse(self, nums, start, end):??????? 
        while start < end:??????????? 
            nums[start], nums[end] = nums[end], nums[start]??????????? 
            start += 1??????????? 
            end -= 1

Review

Web Automation: Selenium WebDriver and Python — Getting Started — Part 1

简单的介绍了Web自动化,入门的文章

  • 测试用例准备
  • 安装Python&Selenium&VS code&chromedriver&创建虚拟环境
  • 前两个用例的脚本示例

Tip

打开cmder.exe时报错“failed to copy vendor/conemu.xml.default file to vendor/conemu-maximus5/conemu.xml access denied”
解决方法:原目录是“c:/program files/",创建一个新目录并将cmder文件夹复制进去
参考链接

Share

Teach Yourself Programming in Ten Years

ARTW-week3

标签:share   ram   tco   amp   sorted   self   元素   cmd   cat   

原文地址:https://www.cnblogs.com/felixqiang/p/11830309.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!