# lintcode 1871 · Maximum moment

{% embed url="<https://www.lintcode.com/problem/1871>" %}

![](https://4272748102-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LekNH5IywF8mjBxFcnu%2Fuploads%2FdZaD3qRgD6e713i6Jv8C%2F%E5%9C%96%E7%89%87.png?alt=media\&token=a924f605-9d67-4ffb-a913-ce2dd1e2b3bb)

time: O(1)

space: O(1)

```java
public class Solution {
    /**
     * @param time: a string of Time
     * @return: The MaximumMoment
     */
    public String MaximumMoment(String time) {
        char[] charAry = time.toCharArray();

        if (charAry[0] == '?') {
            if (charAry[1] >= '4' && charAry[1] <= '9') {
                charAry[0] = '1';
            } else {
                charAry[0] = '2'; // charAry[1] == '?' also give charAry[0] = '2'
            }
        }
        if (charAry[1] == '?') {
            if (charAry[0] != '2') {
                charAry[1] = '9';
            } else {
                charAry[1] = '3';
            }
        }
        charAry[3] = (charAry[3] == '?') ? '5' : charAry[3];
        charAry[4] = (charAry[4] == '?') ? '9' : charAry[4];
        
        return String.valueOf(charAry);
    }
}j
```
