[mock]7月25日

1. 将一个数组分成左右两部分,使得右边的某个连续子段和减去左边的某个连续字段和最小[7,8,9,|3,5,-1] sum right - sum left minimal

想到左右分一刀,O(n),然后对左右分别取最大字段和算法,这样是O(n^2)。但是其实左右各扫一遍,然后记录下来就行了。

int minimaldif(vector<int> &a){
    vector<int> max(a.size());
    int sum = max[0] = a[0];
    for (int i = 1; i < a.size(); i++)
    {
        if (sum < 0) sum = 0;
        sum = sum + a[i];
        if (sum > max[i-1])
            max[i] = sum;
        else
            max[i] = max[i-1];
    }

    // min 数组(略)

    int result = a[a.size() - 1] - a[0];

    // i is the start of right section
    for (int i = 1; i < a.size(); i++)
    {
        int maxVal = max[i];
        int minVal = min[i];
        if (minVal - maxVal < result)
        {
            result = minVal - maxVal;
        }
    }
    return result;
}

2. 有若干0和1组成的等长字符串,求所有字符串相互的海明距离之和。

比如:“001000” “110000” “010111”
ham("001000","110000") = 3
ham("001000","010111") = 5
ham(“110000”,“010111”) = "4
那么结果为12

这道题的关键在于各个位之间其实没有关系,如果字符串长度为1,比如4个“1”和2个“0”,那么结果就是4*2==8。n位的就是把n位的结果相加就行了。

int sumofHamdistance(vector<string> &a) {
    int result = 0;

    int len = a[0].length();
    for (int i = 0; i < len; i++)
    {
        int count1 = 0;
        int count0 = 0;
        for (int j = 0; j < a.size(); j++)
        {
            if (a[j][i] == ‘0‘) count0++;
            else if (a[j][i] == ‘1‘) count1++;
        }
        result += count1 * count0;
    }
    return result;
}

3. 有两个整数x和y,问这两个整数是否有相同的质因数。比如:

samePrimefactor(68 ,17) = false 68 = 2 * 2 * 17 17 = 17
samePrimefactor(136, 578) = true 136 = 2 * 2 * 2 * 17, 578 = 2 * 17 * 17

这道题可以用GCD来做,还需要研究一下。

int gcd(int x,int y) {
    return y?gcd(y, x % y):x;
}

bool can(int a,int g) {
    while (g > 1) {
        if (g % a == 0) {
            return true;
        }
        g = gcd(g, a);
        a /= g;

    }
    return (a == 1);
}
int solution(vector<int> &A, vector<int> &B) {
    // write your code in C++98
    int n = A.size(), result = 0;
    for (int i = 0; i < n; ++i) {
        int g = gcd(A[i], B[i]);
        if (can(A[i] / g, g) && can(B[i] / g, g)) {
            ++result;
        }
    }
    return result;
}

发现的缺点一是括号的风格不一致,二是边界条件老是弄错,差个一。

[mock]7月25日

时间: 2024-08-29 13:31:52

[mock]7月25日的相关文章

4月25日下午学习日志

2017年4月25日下午学习专业课通信原理的教材第一课学习了一下,继续做张宇数学18讲第四讲一元函数微分学的例题,然后用app学英语单词.

2017年4月25日上午

2017年4月25日上午想提高记忆单词的效率,所以自己想办法把英语单词的多种词意联系起来记忆,所以把之前背的单词再复习一遍.学习了南北桥芯片,为一块电脑主板,以CPU插座为北的话,靠近CPU插座的一个起连接作用的芯片称为"北桥芯片",英文名:North Bridge Chipset.北桥芯片就是主板上离CPU最近的芯片.

[mock]8月8日

第一题是整数的方阵,求其中的子方阵,和最大.返回最大和以及子方阵宽度.因为做了topcoder的题,所以比较顺手,O(n^3)的复杂度. pair<int,int> maxiSum(vector<vector<int> > &a) { //first is n second is sum int N = a.size(); int retVal = INT_MIN; int n = 1; // fix two columns, i, j for (int i =

5月25日------疯狂猜成语-----四周第七次站立会议 参会人员:杨霏,袁雪,胡潇丹,郭林林,尹亚男,赵静娜

疯狂猜成语-----四周第六次站立会议 参会人员:杨霏,袁雪,胡潇丹,郭林林,尹亚男,赵静娜 会议内容:在寻找用户过程中,记录总结用户建议和意见. 用户十: 用户姓名 任晓菲 联系电话 15732114635 所用时间 9分钟 用户使用过程中出现的问题 无 用户评价 游戏挺有意思的 用户对产品提出的意见 打字比较麻烦 自己对意见的解决办法  希望能进一步进行改善 用户十一: 用户姓名 韩叶 联系电话 15732115394 所用时间 6分钟 用户使用过程中出现的问题 无 用户评价 很好 用户对产

题目:《项目集管理标准(第三版)》发布会10月25日在京成功举办

作者:共创国际-项目管理者联盟   正文:   共创国际项目管理者联盟于2014年10月25日在电子工业出版社(华信大厦)举办了<项目集管理标准(第三版)>发布会.<项目集管理标准(第三版)>(中文版)由项目管理者联盟项目集管理研究中心翻译与审校,并由电子工业出版社出版.本次发布会的举办是项目集管理研究中心推广项目集管理三年多来的重要里程碑事件. 在来自PMI(中国).国家外国专家局培训中心.共创国际项目管理者联盟.电子工业出版社的多位领导与嘉宾的见证下,<项目集管理标准(第

【每日圣经日历】2014年9月25日

Jeudi le 25 Septembre 2014 礼拜四 2014年9月25日 Si vous pardonnez aux hommes leurs offenses, votre Père céleste vous pardonnera aussi.                                                                      Matthieu 6. 14 你们饶恕人的过犯,你们的天父也必饶恕你们的过犯.            

成都Uber优步司机奖励政策(4月25日)

滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfryf/p/4612609.html 优步奖励低/不挣钱/怎么办?看这里:http://www.cnblogs.com/mfryf/p/4642173.html 打豪车应用:uber详细攻略(附100元优惠码:DL8T6):http://www.cnblogs.com/mfryf/p/4752167.h

北京Uber优步司机奖励政策(4月25日)

滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfryf/p/4612609.html 优步奖励低/不挣钱/怎么办?看这里:http://www.cnblogs.com/mfryf/p/4642173.html 打豪车应用:uber详细攻略(附100元优惠码:DL8T6):http://www.cnblogs.com/mfryf/p/4752167.h

郎咸平 马行空 - 郎咸平说:萧条下的希望(2014年10月25日)

<郎咸平说:萧条下的希望> 作 者:郎咸平 马行空译 者:系 列:出 版:东方出版社字 数:200千字阅读完成:2014年10月25日