题目

给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例 1:输入: n = 12
输出: 3
解释: 12 = 4 + 4 + 4.
示例 2:输入: n = 13
输出: 2
解释: 13 = 4 + 9.

解决方法:

    //思路  使用dp 数组 了解每一个数字 需要的最小的个数//然后依次分解每一个数字的最小值//我们考虑从下到上   得到每一个数字// 这个数组存放每一个数字的最小个数
class Solution {public int numSquares(int n) {int[] dp = new int[n+1];dp[0] = 0;for (int i = 1; i <= n; i++) {int min = Integer.MAX_VALUE;for (int j = 1; j*j <= i ;j++){min = Math.min(1 + dp[i - j * j],min);}dp[i] = min;}System.out.println(Arrays.toString(dp));return dp[n];}
}

算法------------完全平方数(Java版本)相关推荐

  1. 算法-------LIS算法(Java版本)

    题目 LIS(Longest Increasing Subsequence)最长上升(不下降)子序列 解决方法: 方法一: public int lengthOfLIS(int[] nums) {in ...

  2. 插入排序算法 java_排序算法实现-插入排序(Java版本)

    原标题:排序算法实现-插入排序(Java版本) 插入排序(英语:Insertion Sort)是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到 ...

  3. Dijkstra迪杰斯特算法(C++版本和JAVA版本)

    原理 dijkstra主要用于求解最短路径,表示从起始点到地图上其余各点的最短路径. 在dijkstra中认为,若A-B-C为最短路径,则A-B也是最短路径. Dijkstra和A*的关系 在A*中, ...

  4. JAVA算法:走迷宫回溯算法设计(JAVA版本)

    JAVA算法:走迷宫回溯算法设计(JAVA版本) 迷宫数组 int[][] maze = {                 {0, 1, 0, 0, 0},                 {0, ...

  5. 贪心算法(Java版本)

    一.贪心算法 1.算法描述 贪心算法(Greedy algorithm),又叫做贪婪算法. 在对问题求解时,不从整体考虑,而是从问题的某一个初始解出发,每一步选择中都采取在当前状态下最好或最优的选择( ...

  6. 微博短链接的生成算法(Java版本)

    最近看到微博的短链接真是很火啊,新浪.腾讯.搜狐等微博网站都加入了短链接的功能.之所以要是使用短链接,主要是因为微博只允许发140 字,如果链接地址太长的话,那么发送的字数将大大减少.短链接的主要职责 ...

  7. java短链接原理_微博短链接的生成算法(Java版本)

    最近看到微博的短链接真是很火啊,新浪.腾讯.搜狐等微博网站都加入了短链接的功能.之所以要是使用短链接,主要是因为微博只允许发140 字,如果链接地址太长的话,那么发送的字数将大大减少.短链接的主要职责 ...

  8. 微博短链接的生成算法(Java 版本)

    最近看到微博的短链接真是很火啊,新浪.腾讯.搜狐等微博网站都加入了短链接的功能.之所以要是使用短链接,主要是因为微博只允许发140字,如果链接地址太长的话,那么发送的字数将大大减少.短链接的主要职责就 ...

  9. 新浪微博短链接的生成算法(Java版本)

    最近看到微博的短链接真是很火啊,新浪.腾讯.搜狐等微博网站都加入了短链接的功能.之所以要是使用短链接,主要是因为微博只允许发140 字,如果链接地址太长的话,那么发送的字数将大大减少.短链接的主要职责 ...

  10. 滑块验证码识别 java版本

    https://blog.csdn.net/qq_19383667/article/details/77879895 好久没有更新技术文章了,很久之前研究过滑块验证码的破解,照着别人的代码改,将其他版 ...

最新文章

  1. USACO07DEC道路建设Building Roads(prim算法+堆优化与Kruskal+路径压缩对比)
  2. 利用ssh+rsync+inotify实现数据的异地实时同步
  3. Java微服务(四)【idea配置本地maven】【中文idea版本】(手把手编写,超级详细)
  4. cpu 被挂起和阻塞_迄今为止把同步/异步/阻塞/非阻塞/BIO/NIO/AIO讲的这么清楚的好文章...
  5. 信息学奥赛一本通(1145:字符串p型编码)
  6. c++可达矩阵_测试分析人员必备知识—需求管理和可追溯性矩阵
  7. 仿复制粘贴功能,长按弹出tips的实现
  8. android studio安装路径错误,部署 - Android Studio - 本地路径不存在
  9. SVN、GIT图标不显示解决方案
  10. android vpn 工具下载,豌豆荚塑造安卓应用墙 App下载量破20万
  11. TP6如何配置多应用?
  12. 什么时候你想逃离北上广?
  13. Androidstudio之菜单栏设置
  14. TrinityCore魔兽世界服务器-环境搭建(Debian11)
  15. android 之手机客户端登陆
  16. 【100%通过率】华为OD机试真题 Java 实现【预订酒店】【2022.11 Q4 新题】
  17. unity 显示 html页面,unity打开外部或本地html网页方法
  18. 自然语言处理面试 | (1)胡盼盼(NLP入门到实践)总结
  19. RabbitMQ安装流程
  20. XSS Challenges/刷题/Stage #3

热门文章

  1. 怎样实现两个线程共享一个集合_面试高频考察点:几种线程安全的Map解析
  2. div中移除某个元素 js_[JS基础] 13 - 其他 JS 基础
  3. 以太坊白皮书_区块链60讲第33集~什么是以太坊?
  4. setInterval和setTimeout的区别
  5. iOS朋友圈,视频播放器、钓鱼小游戏、玻璃动画源码
  6. Android中Handler的使用
  7. 使用navicat工具创建MySQL存储过程
  8. 自己动手写一个JQuery插件(第二篇)(转)
  9. 【精心挑选】10款基于 jQuery 的图片360度旋转插件
  10. C++ 的复制构造函数