3 Big sai

学生身份

我要认证

关注微信公众号:bigsai,回复【bigsai】获取珍藏pdf书籍资源,回复【进群】即可加入leetcode打卡群。江科大本,南理研一。分享Java,数据结构与算法,python爬虫相关知识。

等级
TA的排名 1k+

LeetCode 45跳跃游戏&46全排列

跳跃游戏题目描述:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设你总是可以到达数组的最后一个位置。分析:这题的话也是运用了不同的方法,从复杂到简单。法一:枚举枚举的思路很简单,二重

2020-10-25 19:10:42

1024我摊牌了,谈谈自己2020剩余两月的学习计划

前言时间飞逝即去,这一年对我这一届来说变化还是挺大的,过1024节日的地点变了,有的奔赴岗位、有的升学深造。这一年的前一半和后一半,生活和学习环境都变了。离开本科四年的同伴和环境,投入到新的生活环境、学习环境、工作环境中。觉得这一切还是挺悄然的。奔赴新的学校、岗位之后,就会面对生活和个人成长的压力。不像在本科那样,可以无忧无虑,什么都不想的去做自己想干的事情。现在很多本科学弟妹加我的时候我总会说一句:“还年轻,没问题的”。如今的学习状况回顾大学的四年时光,可能大部分人是在大三是真正有所掌握的,大一

2020-10-24 21:39:02

LeetCode 43字符串相乘&44通配符匹配

字符串相乘题目描述:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = “2”, num2 = “3”输出: “6”示例 2:输入: num1 = “123”, num2 = “456”输出: “56088”说明:num1 和 num2 的长度小于110。num1 和 num2 只包含数字 0-9。num1 和 num2 均不以零开头,除非是数字 0 本身。不能使用任何

2020-10-24 18:41:57

用python写一个豆瓣通用爬虫并可视化分析

原创技术公众号:bigsai,本文在1024发布,回复bigsai送架构师进阶pdf资源,祝大家节日快乐,心想事成。收到祝福后点个一键三连回馈一下蟹蟹!文章结构前言登录爬取储存可视化分析前言在本人上的一门课中,老师对每个小组有个任务要求,介绍和完成一个小模块、工具知识的使用。然而我所在的组刚好遇到的是python爬虫的小课题。心想这不是很简单嘛,搞啥呢?想着去搞新的时间精力可能不太够,索性自己就把豆瓣电影的评论(短评)搞一搞吧。之前有写过哪吒那篇类似的,但今天这篇要写的像姨母般详细。本篇主要实.

2020-10-24 09:06:02

硬核!手写一个优先队列

前言事情还要从一个故事讲起:对于上面那只可爱的小狗狗不会,本篇即为该教程,首先,我要告诉这只可爱的小狗狗,这种问题你要使用的数据结构为优先队列,每次操作的时间复杂度为O(logn),而整个过程的时间复杂度为O(nlogn).对于本片的设计与实现和堆排序可能有些相似,因为他们都借助堆来实现算法和数据结构,下面详细介绍优先队列的设计与实现。堆而堆就是一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树(完全)的数组对象。且总是满足以下规则:堆总是一棵完全二叉树每个节点总是大于(或小于)

2020-10-22 09:25:59

Leetcode 40组合总数(回溯)Ⅱ&41缺失的第一个正数&42接雨水

维护公众号:bigsai ,回复进群加入打卡,回复bigsai分享一些学习资源!组合总数(回溯)题目描述:给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。andidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,所求解.

2020-10-17 19:48:24

回溯算法 | 追忆那些年曾难倒我们的八皇后问题

前言说起八皇后问题,它是一道回溯算法类的经典问题,也可能是我们大部分人在上数据结构或者算法课上遇到过的最难的一道题……第一次遇到它的时候应该是大一下或者大二这个期间,这个时间对啥都懵懵懂懂,啥都想学却发现好像啥都挺难的,八皇后同样把那个时候的我阻拦在外,我记得很清楚当时大二初我们学业导师给我们开班会时候讲到的一句话很清晰:“如果没有认真的学习算法他怎么可能解出八皇后的代码呢”。确实,那个时候的我搞不懂递归,回溯也没听过,连Java的集合都没用明白,毫无逻辑可言,八皇后对我来说确实就是无从下手。但今

2020-10-16 18:28:30

【排序】看完这篇,你也能手写堆排序啦!

前言在个人的专栏中,其他排序陆陆续续都已经写了,而堆排序迟迟没有写,趁着国庆假期的尾声,把堆排序也写一写。插入类排序—(折半)插入排序、希尔排序交换类排序—冒泡排序、快速排序手撕图解归并类排序—归并排序(逆序数问题)计数排序引发的围观风波——一种O(n)的排序两分钟搞懂桶排序对于常见的快排、归并这些O(nlogn)的排序算法,我想大部分人可能很容易搞懂,但是堆排序大部分人可能比较陌生,或许在Java的comparator接口中可能了解一点。但堆排序在应用中比如优先队列此类维护动态数据效率比较高

2020-10-12 11:04:15

LeetCode 38外观数列&39组合总和

维护公众号:bigsai 回复bigsai分享一些学习资源!本周上篇 LeetCode 36有效的数独&37解数独(八皇后问题)外观数列给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。注意:整数序列中的每一项将表示为一个字符串。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:1. 12. 113. 214. 12115. 111221第一项是数字 1描述前一.

2020-10-11 19:54:34

LeetCode 36有效的数独&37解数独(八皇后问题)

公众号:bigsai 回复进群加入打卡有效的数独判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用 ‘.’ 表示。示例 1:输入:[ ["5","3",".",".","7",".",".",".","."], ["6",".",".",.

2020-10-10 20:00:09

SpringBoot+MongoDB实现一个物流订单系统

课程导学我们都知道MongoDB是一款非常出色的非关系型文档数据库,你肯定会想问MongoDB这么强,我们该怎么用呢?MongoDB的应用场景非常多,无论是数据存储,日志存储越来越多的公司在使用MongoDB,而我们今天也在Springboot基础上使用MongoDB实现一个简易版本的物流订单系统。在使用前,你自己的电脑上要有IDEA编译器来创建项目,还要拥有MongoDB数据库和Studio 3T(MongoDB可视化数据库管理工具)。案例分析我想,大部分人都应该有着购物的经历,当商品下单时就会

2020-09-27 21:19:38

LeetCode (二分小专题)33搜索旋转排序数组&34在排序数组中查找元素的第一个和最后一个位置&35搜索插入位置

前言国庆前最后一次打卡,国庆后继续开启,公众号bigsai回复进群欢迎加入打卡,如有帮助记得点赞收藏。近期打卡记录:LeetCode 32最长有效括号(困难) (本周)LeetCode 30串联所有单词的子串&31下一个排列(上周)LeetCode 27移除元素&28实现strStr()&29两数相除(上周)二分查找我想大家都很熟悉,二分查找每次判断并比较元素所在区间进行压缩,每次都可以压缩一半的区间,所以压到1个大小把它你想来看就是(最坏)扩散了n次到达原始长度。很

2020-09-27 18:37:56

LeetCode 32最长有效括号(困难)

维护不易,还请点个赞赞,如果想加入还请关注公众号bigsai回复进群加入打卡。题目描述给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: “(()”输出: 2解释: 最长有效括号子串为 “()”示例 2:输入: “)()())”输出: 4解释: 最长有效括号子串为 “()()”分析再看这题之前,咱们回顾一下前面刷过的题。力扣20有效的括号分析这种题核心思想就是使用栈模拟。本题的话更简单一点因为只有(和 )两种括号,只有.

2020-09-26 20:50:29

SpringBoot整合MongoDB(实现一个简单缓存)

前言创建MongoDB数据库和项目创建MongoDB数据库打开Studio 3T数据库管理工具,连接本地MongoDB数据库之后,创建名为test得数据库,在test数据库中创建名为news得集合:创建项目首先,打开IDEA创建项目,选择创建Springboot项目:然后在选择Gruop和Aritifact时候分别填写com和mongodemo,Java Version选择8版本。在勾选模块得时候,这里勾选Spring web、MongoDB依赖模块,选择合适位置创建项目,项目就可以成功

2020-09-23 09:26:20

MongoDB从立地到成佛(介绍、安装、增删改查)

前言我们大部分人可能更熟悉关系数据库例如MySQL,SQL SERVER,ORACLE等,对于非关系数据库可能大部分人比较陌生,因为大部人入门级项目或者学习对非关系型数据库的使用要求并不高,所以很多人了解的会更少。但随着项目的不断扩大和业务的拓展,传统关系数据库的技术已经无法满足很多场景的使用需求,这时非关系数据库便慢慢火热起来。非关系型数据库(Nosql)的功能主要是用来提升整个服务的性能和效率,使用非关系数据库一般整体服务的处理都会有一个质的提升,当然不同非关系数据库由于各自的特性有各自的使用场景

2020-09-21 21:30:55

LeetCode 30串联所有单词的子串&31下一个排列

标题串联所有单词得字串下一个排列维护真的不易,如有帮助还请点赞关注,关注公众号bigsai回复进群即可加入打卡。串联所有单词得字串题目描述:给定一个字符串 s 和一些长度相同的单词 words。找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考虑 words 中单词串联的顺序。示例 1:输入:s = “barfoothefoobarman”,words = [“foo”,“bar”]

2020-09-21 21:02:13

LeetCode 27移除元素&28实现strStr()&29两数相除

维护幸苦,如有打卡欢迎关注公众号bigsai回复进群,如有帮助欢迎点赞支持!移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数.

2020-09-19 20:54:46

毕业后两三月的本科毕业生,他们都怎么样了

前言大家好,我是bigsai,挺久没有更新或者聊聊一些东西了,主要前一段时间安排的比较忙:去南京几天、去武汉几天、回家见老友几天、去苏州几天。在暑期的最后一段时间,大部分时间都在旅途上,然后晚上可能还要忙一些其他的事情或者稿子,所以一直没有很空余的来分享。时间飞逝,本科四年一晃而过,暑假两个多月也是在悄无声息中度过,这个暑假我只记得每天早上起床,吃饭、被我妈埋怨空调又要交不少电费……现在的我已经在宿舍开始正常的生活,也算是安顿下来。...

2020-09-15 21:55:28

LeetCode 25K 个一组翻转链表&26删除排序数组中的重复项

如果问题或者其他方法还请分享,如加入打卡微信搜索bigsai回复进群一起打卡。K个一组翻转链表题目要求给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。示例:给你这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3->2-&g.

2020-09-13 20:53:22

LeetCode 23合并K个升序链表&24两两交换链表中的节点

维护不易,点赞再看,感谢支持合并K个升序链表题目描述给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例 1:输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5-&.

2020-09-12 21:34:08

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 推荐红人
    推荐红人
    发布高质量Blink获得高赞和评论,进入推荐栏目即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 1024勋章
    1024勋章
    #1024程序员节#连续参与两年活动升级勋章,当日发布原创博客即可获得