![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
Alkaid丶
这个作者很懒,什么都没留下…
展开
-
leetcode 2.两数相加
题目要求给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -...原创 2019-07-08 08:36:15 · 255 阅读 · 0 评论 -
Leetcode多线程编程:交替打印FooBar Python题解
首先,要想写出本题,首先先要理解一个概念,就是Semaphore对象Semaphore()Semaphore对象内部管理着一个计数器,该计数器由每个acquire()调用递减,并由每个release()调用递增。计数器永远不会低于0,当acquire()发现计数器为0的时候,线程阻塞,等待其他线程调用release()`。import timeimport threading def ...原创 2019-07-18 15:35:14 · 1086 阅读 · 0 评论 -
leetcode 43.字符串相乘
题目描述给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"解题思路将乘法拆分为num2和num1每位数进行乘法,然后存入一个列表中,...原创 2019-07-07 09:30:09 · 233 阅读 · 0 评论 -
leetcode 67 二进制求和
问题描述给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"解题思路:老老实实的采用了较为暴力的列举法来作答,所以代码较为复杂,且可读性较差class Solution: d...原创 2019-07-07 08:58:31 · 235 阅读 · 0 评论 -
leetcode 746 使用最小花费爬楼梯
Leetcode 746. 使用最小花费爬楼梯问题描述数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例 1:输入: cost = [10, 15...原创 2019-07-06 08:51:26 · 253 阅读 · 0 评论 -
Leetcode 70 爬梯子
Leetcode 70 爬梯子题目描述假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。4. 1 阶 + ...原创 2019-07-06 08:01:54 · 262 阅读 · 0 评论 -
leetcode 152.乘积最大子序列python实现
题目要求:给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。解题思路:由于是求的是最大的乘积子序列,所以有可能是由负数与负数相乘得来的,...原创 2019-07-10 10:02:35 · 569 阅读 · 1 评论 -
leetcode 53.最大子序和 python实现
题目要求给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。解题思路从头开始遍历,以坐标 i 为结束点的最大子序和为f (i) ,则以坐标 i+1 为结束点的最大子序和 f(i+1) 为:if f(i...原创 2019-07-10 08:57:26 · 383 阅读 · 1 评论 -
Leetcode 合并K个排序链表 Python实现
题目要求合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6解题思路和合并两个排序链表的基本方式一样,通过递归,进行数组内的链表两两合并,是分治法的一种体现# De...原创 2019-07-13 08:53:49 · 418 阅读 · 0 评论 -
Leetcode 有效的完全平方数-python实现
题目要求给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。说明:不要使用任何内置的库函数,如 sqrt。示例 1:输入:16输出:True示例2:输入:14输出:False解题思路和同类题67的x的平方根大同小异,依旧是使用二分查找法来进行判断,将返回值改为True or False就好class Soluti...原创 2019-07-09 07:29:18 · 665 阅读 · 0 评论 -
leetcode x的平方根 Python
题目要求实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 解题思路使用二分查找法,对中间数进行判断,如果mid^2 <= x 且 (mid+1)^2>...原创 2019-07-09 07:19:58 · 476 阅读 · 0 评论 -
Leetcode K个一组反转链表C++实现
题目要求:给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序基本思路:采用了栈来完成,遍历整个链表,并将结点逐个存入栈中,当栈中存放结点数量=k时,将栈中元素依次弹出,创建一个新的链表。值得注意的是,当最后剩下的数不足k个时,此时虽然剩下结点全都在栈中,但还...原创 2019-08-16 17:40:32 · 636 阅读 · 0 评论