zoukankan      html  css  js  c++  java
  • 1258. 漂亮子数组

    1258. 漂亮子数组

    中文English

    漂亮子数组的定义是具有 numOdds 个奇数元素的任何长度的数组。 给定一个由整数组成的数组 nums 以及一个整数 numOdds,找出该数组中所有的漂亮子数组。 只要子数组的开始索引以及结束索引不一样,那么这两个子数组就不一样。返回漂亮子数组的数量。

    样例

    示例 1:
    输入: 
    nums = [1, 2, 3, 4, 5]
    numOdds = 2
    输出: 4
    解释: 有4个子数组中含有两个奇数,例如:  [1, 2, 3], [1, 2, 3, 4], [2, 3, 4, 5], [3, 4, 5].
    
    示例 2:
    输入:
    nums = [2, 4, 6, 8]
    numOdds = 1
    输出: 0
    解释: 数组中没有奇数元素
    

    注意事项

    • nums 的数组长度范围是: [1, 100000]
    • numOdds 的范围是: [1, 100000]
    • 保证返回的结果是int类型
    输入测试数据 (每行一个参数)如何理解测试数据?
    class Solution:
        """
        @param nums: an integer list
        @param numOdds: an integer
        @return: return the number of beautiful subarrays
        """
        '''
        大致思路:
        1.循环,如果内层循环c == numodds,则开始计数,在此条件下,如果下一个是奇数,则break,继续外层循环,直到最后
        '''
        def  BeautifulSubarrays(self, nums, numOdds):
            res = 0
            dic = []
            for  i in range(len(nums)-numOdds+1):
                c = 0
                for j in range(i,len(nums)):
                    if nums[j]%2 == 1:
                        c += 1
                    if c == numOdds:
                        res += 1
                    elif c > numOdds:
                        break
            return res

    注:lintcode未通过,时间复杂度问题,待优化。

  • 相关阅读:
    浅析CString内部实现机制
    ...sourceannotations.h(142) : error C3094: “repeatable”: 不允许匿名使用
    非MFC项目使用CString及如何打印
    GetTextExtentPoint32--获取字符串在屏幕上长度
    窄字符与宽字符相关的操作
    如何给图片添加黑色边框
    react native
    礼仪 习俗 文化
    职业 行业 2 博客
    读书 文摘 笔记 2 人生的支柱
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/12772816.html
Copyright © 2011-2022 走看看