设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) -- 将元素 x 推入栈中。pop() -- 删除栈顶的元素。top() -- 获取栈顶元素。getMin() -- 检索栈中的最小元素。示例: MinStack minStack = new Min Read More
posted @ 2019-02-21 17:25 李罡 Views(308) Comments(0) Diggs(0)
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买 Read More
posted @ 2019-02-21 16:57 李罡 Views(157) Comments(0) Diggs(0)
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4输出:1->1->2->3->4->4 # Definition for singly-linked list.# class ListNode(object) Read More
posted @ 2019-02-21 16:55 李罡 Views(123) Comments(0) Diggs(0)
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = [6, Read More
posted @ 2019-02-21 16:49 李罡 Views(225) Comments(0) Diggs(0)
你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。 示例: 输入: 4输出: false 解释: 如果堆中有 Read More
posted @ 2019-02-21 16:46 李罡 Views(148) Comments(0) Diggs(0)
def read_excel(excel_file: str,sheet_name: str,row_num: int = 0,col_num:int = 0) ->str # 4个参数,分别对应文件名称,sheet名称,行号,列号,返回值是获取到的内容 return content def wri Read More
posted @ 2019-02-21 16:44 李罡 Views(194) Comments(0) Diggs(0)
自学文件判断、文件夹判断方法,完成函数get_files,能够递归的获取到给定文件或文件夹下的所有文件def get_files(file_path): """ 这里要考虑,给定的参数file_path是文件还是文件夹,如果是文件则直接列出来文件名称就可以 如果是文件夹,那么要列出这个文件夹下所有的 Read More
posted @ 2019-02-21 16:42 李罡 Views(213) Comments(0) Diggs(0)
1、定义一个函数,接受两个参数,第一个参数是原始图片文件,第二个参数是复制到的路径def copy_image(source_file,target_path): # 实现图片文件的复制 解答: Read More
posted @ 2019-02-21 16:38 李罡 Views(342) Comments(0) Diggs(0)
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 现有一个链表 -- head = [4,5,1,9],它可以表示为: 示例 1: 输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点, Read More
posted @ 2019-02-21 16:35 李罡 Views(192) Comments(0) Diggs(0)
给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。 # 定义一个二叉树的节点.# cla Read More
posted @ 2019-02-21 16:30 李罡 Views(114) Comments(0) Diggs(0)
如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。 给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True。 示例 1: 输入: matrix = [ [1,2,3,4], [5,1,2,3], [9,5,1,2]]输出: True解释:在上述矩阵 Read More
posted @ 2019-02-21 16:28 李罡 Views(341) Comments(0) Diggs(0)
冬季已经来临。 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖。 现在,给出位于一条水平线上的房屋和供暖器的位置,找到可以覆盖所有房屋的最小加热半径。 所以,你的输入将会是房屋和供暖器的位置。你将输出供暖器的最小加热半径。 说明: 给出的房屋和供暖器的数目是非负数且不会超过 25000。给出 Read More
posted @ 2019-02-21 16:23 李罡 Views(127) Comments(0) Diggs(0)
给定一个由空格分割单词的句子 S。每个单词只包含大写或小写字母。 我们要将句子转换为 “Goat Latin”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。 山羊拉丁文的规则如下: 如果单词以元音开头(a, e, i, o, u),在单词后添加"ma"。例如,单词"apple"变为" Read More
posted @ 2019-02-21 16:21 李罡 Views(207) Comments(0) Diggs(0)
将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOES Read More
posted @ 2019-02-21 12:00 李罡 Views(854) Comments(0) Diggs(0)
国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: "a" 对应 ".-", "b" 对应 "-...", "c" 对应 "-.-.", 等等。 为了方便,所有26个英文字母对应摩尔斯密码表如下: [".-","-...","-.-.","-..","." Read More
posted @ 2019-02-21 11:54 李罡 Views(1518) Comments(0) Diggs(0)
我们把符合下列属性的数组 A 称作山脉: A.length >= 3存在 0 < i < A.length - 1 使得A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1]给定一个确定为山脉的数组,返回任何满足 A[0] < Read More
posted @ 2019-02-21 11:43 李罡 Views(137) Comments(0) Diggs(0)
给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。 J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。 示例 1: 输入: J = "aA", S Read More
posted @ 2019-02-21 11:39 李罡 Views(96) Comments(0) Diggs(0)
切片就是一种截取索引片段的技术,借助切片我们可以十分灵活地处理序列类型的对象,切片是在列表中最能发挥其用处的: 切片的格式为:[i:i+n:m] i代表切片的起始索引值,如为列表首位时可省略(li[:x]),i+n为切片的结束位置,为列表未位时可以省略(li[0:]),m为步长也就是间隔多长(li[ Read More
posted @ 2019-02-21 11:00 李罡 Views(252) Comments(0) Diggs(0)