当前位置:网站首页>650.只有两个键的键盘(动态规划)
650.只有两个键的键盘(动态规划)
2022-07-30 05:39:00 【Linke66】

解题思路:动态规划
对于一个数n,他需要进行多少次的复制全部和粘贴的操作,比如25个A,最大能被25整除(比25小的数中)2的数是5,那么我需要复制5个A粘贴5次就可以得到25个A,那么怎么得到5个A,最大能被5整除(比5小的数中)的数是1,因此只能通过复制一个A并粘贴5次。
假设 n%m=0,n/m=min_val; m的范围[1,n-1];
那么动态转移方程为:
dp[n]=dp[m]+(min_val-1)+1;
dp[m]代表要得到m个A最少需要多少次操作;
min_val-1代表需要对m个A进行粘贴的次数;
最后+1是复制m个A的次数。
class Solution {
public:
int minSteps(int n) {
//找[1,n-1]最大能被n整除的
//16/8=2;那么就是dp[16]=dp[8]+2-1;dp[8]=dp[4]+2-1;dp[4]=dp[2]+2-1;dp[2]=dp[1]+2-1;
vector<int>dp(n+1);
dp[0]=0;
dp[1]=0;
for(int i=2;i<=n;++i){
int min_val=INT_MAX;
int index;
for(int j=i-1;j>=1;--j){
if(i%j==0){
int val=i/j;
if(val<min_val){
min_val=val; //最少的粘贴次数
index=j; //在哪个位置粘贴
}
}
}
dp[i]=dp[index]+min_val-1+1;
}
return dp[n];
}
};
边栏推荐
- MySql模糊查询大全
- MySQL 数据库基础知识(系统化一篇入门)
- Personal blog system (with source code)
- "Hou Lang" programmer version, a speech dedicated to a new generation of programmers, He Bing's "Hou Lang" speech imitation show
- CISP-PTE Zhenti Demonstration
- The difference between asyncawait and promise
- 手把手教你设计一个CSDN系统
- navicat连接MySQL报错:1045 - Access denied for user ‘root‘@‘localhost‘ (using password YES)
- 【线性神经网络】线性回归 / 基础优化方法
- 微信小程序开发学习
猜你喜欢

CISP-PTE Zhenti Demonstration

CISP-PTE真题演示

Anaconda安装教程

Learn FPGA from the underlying structure (6) ---- Distributed RAM (DRAM, Distributed RAM)

Programmers make money and practice, teach you how to do paid courses, self-media, paid articles and paid technical courses to make money

Error: listen EADDRINUSE: address already in use 127.0.0.1:3000

cnpm installation steps
![[GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及](/img/ac/80ab67505f7df52d92a206bc3dd50e.png)
[GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及

MySQL 用户授权

SOA(面向服务架构)是什么?
随机推荐
np.argsort()函数详细解析
453.最小操作数使数组元素相等
MySQL的存储过程
4461. 范围分区(Google Kickstart2022 Round C Problem B)
optimizer.zero_grad()
839. 模拟堆
Machine Learning - Gradient Descent Optimization - C language implementation
配环境 / 初步测试
839. Simulated heap
破纪录者(Google Kickstart2020 Round D Problem A)
Different lower_case_table_names settings for server (‘1‘) and data dictionary (‘0‘) 解决方案
Difference between cookie and session
argparse —— 命令行选项、参数和子命令解析器
PyCharm usage tutorial (more detailed, picture + text)
手把手教你设计一个CSDN系统
Summary of SQL classic interview questions in 2022 (with analysis)
How is crawler data collected and organized?
JVM之GC 调优基础知识(一)
从底层结构开始学习FPGA(6)----分布式RAM(DRAM,Distributed RAM)
数据操作 / 数据预处理