谢顶者同盟刷题娱乐第一期

谢顶者同盟旨在面向公司笔试面试刷题。
第一期活动,选用《剑指offer》练习题。练习网址 题号为[13, 88],共计76题。预计时间两个月。

《剑指offer》第二版与纪念版下载

练习中只需要编写出解决问题的函数,不需要完整的本地可执行代码。

以第一题找出数组中重复的数字为示例:

C语言代码:

int duplicateInArray(int *nums, int numsSize){
    int mark[numsSize];
    int i;
    for(i=0; i<numsSize; ++i)
        mark[i] = 0;
    for(i=0; i<numsSize; ++i)
    {
        if(nums[i]<0 || nums[i]>numsSize-1)
            return -1;
        mark[nums[i]]++;
    }
    for(i=0; i<numsSize; ++i)
        if(mark[i]>1)
            return i;
    return -1;
}

Python3代码:

class Solution(object):
    def duplicateInArray(self, nums):
        """
        :type nums: List[int]
        :rtype int
        """
        length = len(nums);
        li = [0]*length;
        for i in nums:
            if i<0 or i>length-1:
                return -1
            li[i] += 1
        for i in range(length):
            if li[i] > 1:
                return i
        return -1
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页