码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【HJ53 杨辉三角的变形】


    描述

     

    以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数、左上角数和右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。

    求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3,输入2则输出-1。

    数据范围: 1 \le n \le 10^9 \1≤n≤109 

    输入描述:

    输入一个int整数

    输出描述:

    输出返回的int值

    示例1

    输入:

    4

    复制输出:

    3

    思路一,硬编码,但是内存超过要求限制

    def f():
        n = int(input())
        if n == 1 or n == 2:
            print(-1)
            return
        if n >= 3:
            dp = [[1]*(2*i-1) for i in range(1,n+1)]
            dp.insert(0,0)
            # print(dp)
            for i in range(3, n + 1):
                dp[i][0] = 1
                dp[i][1] = i - 1
                for j in range(2, i):
                    dp[i][j] = sum(dp[i - 1][j - 2:j + 1])
                dp[i][i:] = sorted(dp[i][:i-1],reverse=True)
            for x in dp[n]:
                if x%2 == 0:
                    print(dp[n].index(x) + 1)
                    return
            print(-1)
    
    f()

    思路二:优化,经过观察发现每4行偶数出现的位置就会循环一次(位置分别是[2, 3, 2, 4])

    这种问题适合中找规律

    n = int(input())

    if n == 1 or n == 2:

        print(-1)

    if n >= 3:

        if (n + 1) % 2 == 0 and (n - 1) % 2 == 0:

            print(2)

        elif n % 4 == 0:

            print(3)

        elif n % 2 == 0:

            print(4)

        else:

            print(-1)

  • 相关阅读:
    dotConnect for Oracle .net Crack
    【Linux】探究函数是怎么完成链接和跳转的
    【Hack The Box】linux练习-- Horizontall
    解决Java应用程序中的SQLException:Access denied for user ‘root‘@‘localhost‘ 错误
    能动性如何进化而来?
    SQL查询语法30例
    基于 FPGA 的机器博弈五子棋游戏
    Python基于HRHet的跌倒检测系统(源码&教程)
    Objects.requireNonNull的意义是什么
    接口自动化中cookies的处理技术
  • 原文地址:https://blog.csdn.net/zhujunqtp/article/details/127057405
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号