zoukankan      html  css  js  c++  java
  • Day 11

    第16题:

    给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。来源:力扣(LeetCode)

    1、和之前的15题一样,也可以用暴力解法将结果输出,其中用户绝对值来计算target和三数之和的差距,依次求出最接近的。

      

    2、昨天求的第15题也用了双指针法,这道题非常相近,也可以先枚举一个数,然后计算另两个数的和与target-nums[i]之间的差距;

      当然,在这之前需要将数组排序好,可以减少一些筛选步骤;

      当三数之和大于target时,k前移;

      三数之和小于target时,j前移;

      可得出结果。

      

    第1025题:

    爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。

    最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作:

    选出任一 x,满足 0 < x < N 且 N % x == 0 。
    用 N - x 替换黑板上的数字 N 。
    如果玩家无法执行这些操作,就会输掉游戏。

    只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 false。假设两个玩家都以最佳状态参与游戏。来源:力扣(LeetCode)

    1、开始想到奇偶来判断两人之间谁输谁赢,

      动态规划:定义一个数组来存储当N为i时他的Boolean值,比如N=1时,肯定是false,N=2时,肯定是true;

      就将dp[1]和dp[2]设为false和true,然后去求当N等于3时,他的Boolean值;

      在判断N等于后面的值时,可以利用之前求出的dp[N]的值,如当求dp[3]的时候,它一开始只能-1,所以得到2,而dp[2]为true,就可以得出dp[3]=true;

      这样就可以得出两者谁赢的结果了。

      

  • 相关阅读:
    LCS(最长公共子序列)
    如何利用MAXScript代码进行DNA双螺旋结构的创建
    如何在3ds MAX中进行宏脚本MacroScript的编写
    3dsmax:[5]maxscript是干什么的
    Visual MAXScript 工具
    3D MAXScript(1)
    如何写3DMAX的插件
    利用GitHub for Window 来进行项目的上传
    VS中的库
    软件测试作业
  • 原文地址:https://www.cnblogs.com/liang-yi-/p/13196973.html
Copyright © 2011-2022 走看看