领扣算法学习
面朝大海zyp
这个作者很懒,什么都没留下…
展开
-
39. 组合总和
39. 组合总和给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入:candidates = [2,3,6,7], target = 7,所求解集为:[[7],[2,2,3]]class Solution { public List<原创 2020-09-09 10:07:45 · 125 阅读 · 0 评论 -
风口的猪
风口的猪风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”。 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价。 假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票。若两次交易机会都放弃,收益为0。 设计算法,计算你能获得的最大收益。 输入数值范围:2<=n<=100,0<=prices[i]<=100比如 3 8 5 1 7 8输原创 2020-08-14 19:40:14 · 178 阅读 · 0 评论 -
编程笔记(9)
题目(LeetCode 4)给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4...原创 2019-02-28 18:24:52 · 109 阅读 · 0 评论 -
编程笔记(7)
编程笔记(7)两数之和(LeetCode 2)给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -&gt; 4 -&gt; 3) + (5 -&gt; 6 -&g...原创 2019-02-22 19:34:49 · 131 阅读 · 0 评论 -
编程笔记(8)
无重复字符的最长子串题目LeetCode(3)代码题目LeetCode(3)给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: ...原创 2019-02-26 19:12:50 · 152 阅读 · 0 评论 -
编程笔记(三)二叉树的层次遍历
编程笔记(三)二叉树的层次遍历二叉树的遍历前序遍历中序遍历后序遍历层次遍历LeetCode102中层次遍历习题使用队列来解决问题二叉树的遍历二叉树是树的特殊一种,具有如下特点:1、每个结点最多有两颗子树,结点的度最大为2。2、左子树和右子树是有顺序的,次序不能颠倒。3、即使某结点只有一个子树,也要区分左右子树。具体了解参考这篇文章1具体了解参考这篇文章2前序遍历基本思想:先访问根结点...原创 2018-12-11 18:47:26 · 427 阅读 · 0 评论 -
编程笔记(六)贪吃蛇的实现
python3 实现加入了分数显示,三种特殊食物,将贪吃蛇的游戏逻辑写到了SnakeGame的类中,而不是在Snake类中。特殊食物:1.绿色:普通,吃了增加体型2.红色:吃了减少体型3.金色:吃了回到最初体型4.变色食物:吃了会根据食物颜色改变蛇的颜色# coding=UTF-8from tkinter import *from random import randintfr...转载 2018-12-15 10:45:12 · 347 阅读 · 1 评论 -
编程笔记(二)单链表的反转
编程笔记(二)单链表的反转Leetcode206 单链表的反转Leetcode206 单链表的反转class Solution: def reverseList(self, head): &amp;amp;amp;amp;quot;&amp;amp;amp;amp;quot;&amp;amp;amp;amp;quot; :type head: ListNode :rtype: ListNo原创 2018-12-10 00:02:21 · 209 阅读 · 0 评论 -
编程学习(一)两数之和
编程学习(一)两数之和题目描述初步尝试(两个for循环嵌套)改进(去掉一个for循环)继续改进字典和列表的对比哈希表(字典)和顺序表(列表)字典列表题目描述LeetCode第一道题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例...原创 2018-12-09 15:22:04 · 1173 阅读 · 0 评论 -
编程笔记(五)递归练习
编程笔记(五)递归练习递归什么是递归递归的例子斐波那契数列LeetCode 50 递归习题方法一(已通过)方法二(未通过)递归具体来讲就是把规模大的问题转化为规模小的相似的子问题来解决。在函数实现时,因为解决大问题的方法和解决小问题的方法往往是同一个方法,所以就产生了函数调用它自身的情况。另外这个解决问题的函数必须有明显的结束条件,这样就不会产生无限递归的情况了。递归的两个条件 可以通过...原创 2018-12-13 11:03:39 · 187 阅读 · 0 评论 -
编程笔记(四)排序链表
编程笔记(四)排序链表排序插入排序快速排序LeetCode 148 链表排序题java实现python实现排序排序分为简单排序和高级排序,简单排序包括冒泡排序、选择排序、插入排序等;高级排序分为快速排序、归并排序、希尔排序等。冒泡排序、选择排序、插入排序参考文章插入排序插入排序是简单排序中最快的排序算法,虽然时间复杂度仍然为O(n*n),但是却比冒泡排序和选择排序快很多。(1)原理:...原创 2018-12-12 17:15:25 · 182 阅读 · 0 评论