1323. 6 和 9 组成的最大数字
d地址:https://leetcode-cn.com/problems/maximum-69-number/
<?php /** 给你一个仅由数字 6 和 9 组成的正整数 num。 你最多只能翻转一位数字,将 6 变成 9,或者把 9 变成 6 。 请返回你可以得到的最大数字。 示例 1: 输入:num = 9669 输出:9969 解释: 改变第一位数字可以得到 6669 。 改变第二位数字可以得到 9969 。 改变第三位数字可以得到 9699 。 改变第四位数字可以得到 9666 。 其中最大的数字是 9969 。 示例 2: 输入:num = 9996 输出:9999 解释:将最后一位从 6 变到 9,其结果 9999 是最大的数。 示例 3: 输入:num = 9999 输出:9999 解释:无需改变就已经是最大的数字了。 */ class Solution { /** 1 将目标数不断/10,找出最后一个6在什么位置 2 通过10的n次方,来决定在该num数上加上多少 */ function maximum69Number1 ($num) { $temp = $num; $index = -1; $count = 0; while($temp){ if ($temp % 10 == 6){ $index =$count; } $temp = intval($temp/10); $count++; } if ($index>= 0){ $num +=(3*(10**$index)); } return $num; } /** 字符串查找替换 */ function maximum69Number ($num) { $str = strval($num); $index =strpos($str,'6'); $str[$index] = '9'; return intval($str); } } $solution = new Solution(); $num = 9996; var_dump($solution->maximum69Number($num));
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步