题解 | #手机键盘#

手机键盘

https://www.nowcoder.com/practice/20082c12f1ec43b29cd27c805cd476cd

//不需要记录每一个字符,只需要记录每组字符的大小即可 具体看解析
#include <iostream>
using namespace std;

int main() {
    int nums[]={0,3,6,9,12,15,19,22,26};//记录每组字符的大小,从下标1开始
    string s;
    int ret;
    int pos;//表示当前字符的位置
    int pre;//表示前一个字符的组号
    while(cin>>s)
    {
        pre=-1;
        ret=0;
        for(int i=0;i<s.length();i++)
        {
            pos=s[i]-'a'+1;//找到第一个字符的位置
            for(int j=0;j<8;j++)
            {
                if(pos>nums[j]&&pos<=nums[j+1])//找到字符所在的组号
                {
                    if(pre==j)//说明与前一个字符在同一个按键上
                    ret+=2;//等待两个时间短
                    ret+=pos-nums[j]; //加上字符的相对位置
                    pre=j;//记录所在组号
                    break;
                }
            }
        }
        cout<<ret<<endl;
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 14:46
和女友两个人马上毕业,现在我在鹅实习995,周六日偶尔也去北京;她在北京金融007,经常忙到后半夜,周末也没啥休息机会两个人现在都不咋聊天了,一句话隔半小时甚至半天才回。&nbsp;她是个很优秀的妹子,工作也很努力,是值得学习一辈子的人。我在努力工作求转正,即便不行至少赚到了一段不错的实习经历。已经异地了半年,接下来可能还会持续是这个状态。我们都算是对方重要的人,只是感觉看上去不是很有未来的样子。希望牛友们给点的鼓励
梦旅奇缘:很难。异地首先就已经很难了,加上妹子是金融行业,忙碌高压,对情感需求很高,而且见惯纸醉金迷,你的很多优势在她那里可能就不算什么了。这种情况下,在她们那里遇到一个能及时照顾她的人,即使那人可能很多条件不如你,你也有可能被分手。 说白了,两个卷王就不太适合在一起。因为卷王最大的优势,在另一个卷王那里就不算优势了。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务