数组算法相关题目--Swift

1、提莫攻击

class Solution {
    func findPoisonedDuration(_ timeSeries: [Int], _ duration: Int) -> Int {
        if timeSeries.count == 0 {
            return 0
        }
        var sum = 0
        var index = 0
        while index < timeSeries.count - 1 {
            let left = timeSeries[index]
            let right = timeSeries[index + 1]
            let min = (right - left) > duration ? duration : (right - left)
            sum += min
            index += 1
        }
        return sum + duration
    }
}

2、 非递减数组

class Solution {
    func checkPossibility(_ nums: inout [Int]) -> Bool {
        var changeCount = 0
        for index in 0 ..< nums.count - 1 {
            if nums[index] > nums[index + 1] {
                if index > 0 {
                    if (nums[index - 1] < nums[index + 1]){
                        nums[index] = nums[index + 1]
                    } else {
                        nums[index + 1] = nums[index]
                    }
                }
                changeCount += 1
                if changeCount > 1 {
                    return false
                }
            }
        }
        return true
    }
}

3、最长且连续的的递增序列

    func findLengthOfLCIS(_ nums: [Int]) -> Int {
        if nums.count > 1 {
            var result = 0
            var tmp = 0
            for index in 0 ..< nums.count {
                tmp += 1
                if index + 1 == nums.count {continue}
                if nums[index] >= nums[index + 1] {
                    if tmp > result {
                        result = max(tmp, result)
                    }
                    tmp = 0
                }
            }
            return max(result, tmp)
        }
        return nums.count
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 新年快乐!大年初一,是新的一年第一天!希望新的一年有个好的开始!这个年过的没有了自己的时间,时间都陪了家人!计划多...
    正能量哥阅读 97评论 0 0
  • 最近,我和老婆在孩子的教育的问题上发生了一些争执。宝宝过了2岁,老婆便张罗着孩子早教的学习,仿佛现在不努力,孩子以...
    宁小猿阅读 257评论 0 0
  • 从面试官的角度,招人这个事情首先要把核心需求梳理清楚。如果想招一个1-3年经验的产品经理,对于候选人会有哪几点需求...
    银海系阅读 626评论 0 9
  • 教育学的概念:一门研究教育现象和教育问题,揭示教育规律的科学。 教育学的发展经历了哪几个阶段? 萌芽阶段;独立形态...
    佛佛佛佛爷阅读 800评论 0 1