静态做网站,网页制作模板田田田田田田田田田田田田田田,seo优化关键词放多少合适,网络运营推广怎么做给你一个下标从 0 开始的字符串 num #xff0c;表示一个非负整数。
在一次操作中#xff0c;您可以选择 num 的任意一位数字并将其删除。请注意#xff0c;如果你删除 num 中的所有数字#xff0c;则 num 变为 0。
返回最少需要多少次操作可以使 num 变成特殊数字。
如…给你一个下标从 0 开始的字符串 num 表示一个非负整数。
在一次操作中您可以选择 num 的任意一位数字并将其删除。请注意如果你删除 num 中的所有数字则 num 变为 0。
返回最少需要多少次操作可以使 num 变成特殊数字。
如果整数 x 能被 25 整除则该整数 x 被认为是特殊数字。 示例 1
输入num 2245047
输出2
解释删除数字 num[5] 和 num[6] 得到数字 22450 可以被 25 整除。
可以证明要使数字变成特殊数字最少需要删除 2 位数字。
示例 2
输入num 2908305
输出3
解释删除 num[3]、num[4] 和 num[6] 得到数字 2900 可以被 25 整除。
可以证明要使数字变成特殊数字最少需要删除 3 位数字。
示例 3
输入num 10
输出1
解释删除 num[0] 得到数字 0 可以被 25 整除。
可以证明要使数字变成特殊数字最少需要删除 1 位数字。
思路 只要结尾是00752550还有只剩0和全删这几种答案从尾记录最短的长度。
代码
class Solution {
public:int minimumOperations(string num) {unordered_mapchar, int hashtable;int cnt 0;char ch;for(int i num.size()-1;i 0; --i){ch num[i];if((ch 0 || ch 5) hashtable.find(0) ! hashtable.end())return cnt-1;if((ch 2 || ch 7) hashtable.find(5) ! hashtable.end())return cnt-1;else{hashtable[ch];cnt;}}if(hashtable.find(0) hashtable.end())return num.size();elsereturn num.size()-1;}
};