目的:
鞭策自己在养孩子的道路上,能够不随波的夸孩子聪明、夸孩子漂亮、夸孩子帅气,并能带动周围的人。每个孩子都是很聪明的,正是因为这样,更要去培养孩子的认知,不能让他因为别人口中的聪明、漂亮、帅气而成为一个肤浅的人。

文章内容:
刚买了薛涌的新书《天才是训练出来的》。从薛以前的文章看,感觉他是偏向天才天成派的,所以这次看到这个标题就很想知道,是什么让他的观点发生了如此大的转变。

书尚未读完,然而书中大量引用的实验和数据经常让人惊叹不已,不论是支持天成论的还是培养论的,感觉十分过瘾。也许过一阵子我会写一篇整体的读后感,现在先和大家分享一个实验吧。

20世纪90年代,还在哥伦比亚大学教书的Carol S. Dweck进行了一个著名的实验。她把400名七年级的孩子随机分为两组完成很容易的解谜游戏。事后对第一组的孩子不停地夸奖:“你真聪明!”对第二组孩子则称赞:“你一定是非常努力!”接下来,这两组孩子在如下两种解谜游戏中进行选择:一种是容易的游戏,一种则难得多,不过老师告诉他们这组难的游戏可以让他们学到更多的东西。结果,被夸奖聪明的那组孩子,有一半以上选择了容易的游戏;被称赞用功的孩子,则有90%选择了难的游戏。

Carol S Dweck和她的同事用同样的方法对纽约市12所学校100名五年级的学生进行了另一次研究。这些孩子同样被随机分为两组来做适龄的智商测试题。测试完之后,第一组得到的赞誉是“你真聪明!”第二组得到的是“你真努力!”接下来,这两组学生要对付难得多的智商测试,即八年级程度的测试题。结果,第一组孩子意志消沉,第二组孩子则竭尽全力。最后一轮测试,难度回到第一次测试的水平。第一组被夸奖“聪明”的孩子,成绩居然下降了将近20%;第二组被夸奖“努力”的孩子,成绩则提高了30%。

Carol 接下来的问题是:是什么使这些学生们选择了不同的目标、有了不同的工作态度?她的结论是:前一组学生希望“显示”自己的才能,后一组学生希望“发展”自己的才能。在这里,“才能”对两组学生意味着不同的东西。对于第一组学生来说,才能是先天的、固定的,他们愿意把这种才能一遍又一遍地展示。对于第二组学生来说,才能是一个过程,是在不停的发展之中。这种发展的引擎是自己的努力。所以,他们不愿意重复已经掌握的东西,而急不可待地要闯入新的领域。对这两组学生,失败的意义也不同。第一组学生遇到失败,本能的反应就是“天呀,我不行!”第二组学生遇到失败,则采取了面对现实的态度:“我这套做法看来不行,要换个方法试试。”

Carol S. Dweck甚至利用哥伦比亚大学的脑电图室,让具有这两种精神气质的人回答各种问题,然后给他们回馈,同时检测他们的脑电波活动情况。结果现实,“固态气质”的人特别关心自己所显示出来的能力是什么,特别注意自己的答案是否正确。当你提供一些能帮助他们学习的信息时,他们的脑电波中没有信号现实出任何兴趣。甚至当他们答错了问题时,他们也没有兴趣追究什么是正确答案。“进取气质“的人则对各种问题中所包含的能够增长他们知识的信息感兴趣,似乎并不在乎对这些问题的回答究竟把自己排到什么智力水平上。

这里的道理很简单:固态气质的人,心思全花在琢磨“自己是老几”的问题上,既然他们相信人的素质是固态的,自己究竟是老大还是老二、老三就变得至关重要。所以他们所做的一切就是证明自己,生怕自己不聪明,乃至于通过躲避挑战来躲避失败。进取气质的人则是个学习者,他们为了发现自己的问题,宁愿去尝试失败,因而总愿意迎接新的挑战。

——薛涌 《天才是训练出来的》P175-p177

题目:
Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight).
For example, the 32-bit integer ’11' has binary representation 00000000000000000000000000001011, so the function should return 3.

思路-1:
32位数据,先计算出每位的值存储到一个数组里。然后循环这个数组,使用目标值去比较,若目标值小于当前位的值,继续循环;若当前目标值等于当前位值,计数并终止;若当前目标值大于当前位值,计数并重新计算当前目标值继续循环。算法复杂度:O(2 * 32)

代码-1:

class Solution {
public:

int hammingWeight(uint32_t n) {
    std::deque<uint32_t> nAllVaule;
    for (uint32_t i = 0; i <= 31; i++)
    {
        uint32_t cur_vaule = pow(2, i);
        nAllVaule.push_front(cur_vaule);
    }

    uint32_t letf_value = n;
    int count = 0;
    for (uint32_t i = 0; i < nAllVaule.size(); i++)
    {
        if (letf_value < nAllVaule[i])
        {
            continue;
        }

        if (letf_value == nAllVaule[i])
        {
            count++;
            break;
        }

        if (letf_value > nAllVaule[i])
        {
            count++;
            letf_value = letf_value - nAllVaule[i];
            continue;
        }
    }

    return count;
}

};
思路-2:
当前剩余值除2,若除不尽则计数,n取 n/2;若n为0,则终止。算法复杂度:O(16)
代码-2:

class Solution {
public:

int hammingWeight(uint32_t n) {
    int count = 0;
    while (n) {
        if (n {b75a474a571334bb08f4db31fa80d7688c6401b1dcf97fb55e06ed241b59472c} 2 == 1) {
            ++count;
        }
        n /= 2;
    }
    return count;
}

};
总结:
1、该算法较简单,但思路有很多种,比如爆破法(思路-1),即从最大位开始模糊匹配,较为复杂;还有一种就是取模法(思路-2)。
2、爆破法和取模法的算法复杂度相差还是很大的,官网上的显示是爆破法:15ms,取模法的时间是5ms;相差三倍
3、提交错误地方: typedef std::deque Deque; 这是一个类型的声明,而不是一个变量的声明,std::deque nQeque;这样才是一个变量。

题目:
Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.
https://leetcode.com/problems/contains-duplicate/

思路:
思路一:两层循环,第一次循环里取一个数,在第二次循环里去其比较后面的数字是之否相等。算法复杂度双层递减循环,结果超时。
思路二:一层循环,使用map保存该数组,保存之前先判断是否存在,存在则返回true,不存在则记录。算法复杂度仍然比较高
思路三:看到讨论帖子里的思路,先排序,然后挨个比较前后的顺序,相等则返回true,不相等继续只结尾返回false。代码如下

代码:

{
public:

bool containsDuplicate(vector<int>& nums)
{
    sort(nums.begin(), nums.end());
    for (size_t i = 1; i < nums.size(); i++)
    {
        if (nums[i - 1] == nums[i])
        {
            return true;
        }
    }
    return false;
}

}
总结:
1、简化思路,使用现有的api接口
2、尽量不要使用双重循环来解决问题。

米粒儿现在正处在见啥咬啥的阶段,还吐唾液,婆婆说是要长牙了,自然而然的讨论到了先长下面牙齿还是上面牙齿的问题。婆婆说米粒儿下面分牙瓣了,要先长下面牙齿,说以前小宝就是先长下面牙齿的,然后我就跟她犟上了,说先长上面的,她坚持先长下面了,争执了好一会最后说等以后看他先长哪里的吧。

其实在跟她争执的时候,自己已经感觉自己是错误的,但是非要跟她犟下去坚持下去,是因为在谈论到孩子问题上的时候,总是说小宝怎样小宝怎样,有时候哄米粒儿的时候还能叫错名字,把米粒儿叫成宝宝,心里不舒服而已。作为新手妈妈总觉得孩子是独一无二的个体,总是想看到自己孩子一点一滴的变化,发现一点一滴的改变,这发现的过程,改变的过程是令人欣喜而又幸福甜蜜的过程。而对婆婆来说,看见孩子长牙齿和每个过程,都是经历N次的事情,觉得是跟你传授经验,而宝宝是她带大的孩子,她很有这些养孩子的经验,但正是这些经验,是我最不愿意听到的,因为在我发现米粒儿一点点小小变化很欣喜很幸福的时候,她的经验能让我的心情回到冰点,虽然非常能理解婆婆她的好意。

话题扯多了,上班之后马上查了下孩子长牙的顺序,证明婆婆说的是对的,哈哈,婆婆对不起,我错了,道歉哟。下面放一张长牙顺序图,给新手妈妈和未来宝宝妈妈们看看,记清楚哦,这样跟妈妈婆婆讨论的时候不会犯同样的错误哦,哈哈。

海阔天空
2015年8月7日 下午3:55
其实很多不是原则性的问题,可以少一点争执,毕竟老人一个人过来照顾孩子也不容易;而且都是为了孩子好,那就都多一些宽容吧。

在水一方
2015年8月12日 上午9:39
嗯,是呀,所以一直压抑着自己的想法和个性奶奶怎么样弄就成。可是有时候偶尔还是会爆出坏脾气,特别是总是拿他跟小宝或者其他人比较的时候,最讨厌的比较来比较去,因为不希望自己的孩子养成攀比的性格,即使没有攀比,大人总是用他跟别的孩子比较,很容易形成孩子性格的自卑或者自负。
在怀孕期间,还跟他爸爸讨论养孩子的注意事项,他爸爸还积极的看育儿的书籍,可是发现孩子出生后大部分都是自己在坚持一些东西。因为我和婆婆彼此都很客气,不能像跟自己妈妈那样有什么说什么,所以都不知道该如何跟孩子奶奶交流这些问题,说什么的时候奶奶有自己的经验,我坚持我的方法,所以不知道如何处理这些问题。

第一天
2015年x月xx日 9:00
医生从产房里把米粒和妈妈推了出来,这时候的宝宝还不知道已经来到一个全新的世界了,他还在安详的打个盹呢。

2015年x月xx日 11:20
米粒和妈妈躺在一起睡会觉,妈妈也累了,米粒也累了,米粒,你长大要好好疼你妈妈哦。

第二天
2015年x月xx日 17:23
爸爸去医院看望米粒,抱了抱这个可爱的小家伙,你可真小,爸爸像抱个小猫咪一样抱着米粒

第三天
2015年x月xx日 18:17
米粒,再睡一晚上,你就能和妈妈一起回家了