随笔分类 - 数据结构与算法
摘要:1、两数和问题 """ def solution(arr,length,sum): dic = {} for i in range(length): t = sum arr[i] if arr[i] in dic: return "{} {}".format(dic[arr[i]],i) else:
阅读全文
摘要:1、美团 骑士送餐 分割最多子串 输出每个子串长度 """ def solution(s): length = len(s) if length li[i][1]: i+= 1 else: if r
阅读全文
摘要:1、字节跳动水龙头接水问题,至少需要多少时间 """ import heapq n, m = list(map(int, input().split(' '))) arr = list(map(int, input().split(' '))) min_heap = arr[:m] heapq.he
阅读全文
摘要:题目: 能被1~10同时整除的最小整数是2520,问能被1~20同时整除的最小整数是多少? 友情提示:看最佳答案直接翻到最后。 拿到题时自己的思考如下: 先将1~20分一半,只看11~20,这个数既然能整除11~20,则必然能整除1~10。现在将11~20这十个数中能被2,3,5整除的数循环除2,3
阅读全文
摘要:实在太菜了,前段时间刚刚做过迷宫问题,也做过N皇后问题。今天笔试做这个题,虽然明白是迷宫问题加个回溯就可以了,但愣是没做出来。太菜了,下来又花了点时间才做出来。 问题:一个(X,Y)的迷宫,入口左上角,出口右下角,求出走出迷宫的路径的条数。 算法: def solution(map, row, co
阅读全文
摘要:笔试的时候没做出来,就顺手截图了。 虽然知道要用动态规划做,但我一直就不太懂动态规划。笔试完又花了2小时把它做出来了。也不知道性能怎么样,但还好做出来了。 def solution(n, toltal_money, until_price, until_hot): 二维数组,每一行代表0到total
阅读全文
摘要:数据结构中常见的问题,最近复习到了,用python做一遍。 n = 4时: n = 8时:
阅读全文
摘要:参考了一个数的二进制形式有多少个1的思路。如果一个数是2的整数次方,那这个数的二进制形式中只有一个1,其余全为0
阅读全文
摘要:题目: 剑指offer的思路,顿时觉得极妙。删除节点node1,先把其下一个节点node2的内容复制到node1这个节点,然后把节点node1的指针指向node2的下一个节点,最后删除节点node2。 解题:
阅读全文
摘要:题目: 参考大数运算的方法。考虑到位数会很大,所以采用字符串的形式解决。对输入的n,创建一个长度为n的数组,分别存放打印时数字的每一位,高位用0补足。为方便使用字符串打印结果,所以数组中存的都是字符型式的0 9 解法: def print_one_max_number(n): if n
阅读全文
摘要:题目: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 拙见: 没什么难度,想通了栈和队列的特点即可,还有一种就是用两个队列实现栈,也比较简单。
阅读全文
摘要:题目: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 拙见: 用到了一点逻辑运算的小技巧,正数很好解决,负数不能直接用正数的方法解决,负数的补码中1的个数等于整数长度减去补码中0的个数,那么把负数取反,原负数中0的个数就等于取反后数中的1的个数,这是就和整数采用一样的方法了。 c
阅读全文
摘要:题目: 输入一个链表,输出该链表中倒数第k个结点。 拙见: 题不难,双指针,考察代码的鲁棒性。
阅读全文
摘要:题目: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 拙见:
阅读全文
摘要:题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这
阅读全文