久违了的碎碎念
提笔写字似乎是我比较钟情的爱好之一。也是我少数的几个“健康”的爱好。
比如我喜欢吃,曾以“吃货”自称并以为荣。然而这种莫名的不健康的自豪感却终将成为自怜的起因。
圣经有曰的圣灵的九个果子,其中包括一个叫“节制”。(原文记:“圣灵所结的果子,就是仁爱、喜乐、和平、忍耐、恩赐、良善、信实、温柔、节制。这样的事没有律法禁止。--加拉太书5:22~23节”)我猜想,节制是排在最后一个是有道理的,或许是做到凡事节制真的很难。
节制,也就是不贪婪,不贪多,凡事有度。这是我理解的节制。
然而很多事上真的做不到,大到法律道德、为人处世,小到餐饮作息。我无节制的吃自己爱吃的东西,经常吃撑,胃受不了,吸收过量身体受不了。无节制的睡眠,当然也不好,具体原理不在这里讨论。
最近秋天到了,想做一个凡事有节制的人。最起码,应该从嘴上节制做起。
这阵子很忙,没有刷Leetcode了。没想到今天特别有冲动要刷,甚是想念。想念这种像思考游戏一般的快感。今天的Leetcode叫Happy Number,我此时的心情也Happy(虽然目前的身体状态有些堪忧)
题目:202. Happy Number
Write an algorithm to determine if a number is "happy".
A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are happy numbers.
**Example: **19 is a happy number
我的解法:普通模拟人工暴力法
模拟算法过程,只要计算出来的值,在前面没有出现过,就一直计算。出现1时,就是true。出现重复了,就是false。
class Solution {
public:
bool isHappy(int n) {
vector<int> ans;
int m = n;
int t = 0;
while(t != 1){
t = 0;
while(m){
t += (m % 10) * (m % 10);
m = m / 10;
}
//cout<<t<<endl;
if(!ans.size()){
ans.push_back(t);
}else{
for(int i = 0;i < ans.size(); i ++){
if(ans.at(i) == t)
return false;
}
ans.push_back(t);
}
m = t;
}
return true;
}
};
效率:4ms
这次的效率挺满意.pngHappy,午饭去,吃点健康的,不能吃撑~
——END——
网友评论