数据结构
mobai-ch
研究生在读。
展开
-
LeetCode 排序三题 75,347,215 --- JAVA
75 颜色分类给定一个包含红色、白色和蓝色,一共n个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶:一个直观的解决方案是使用计数...原创 2020-02-26 20:43:54 · 150 阅读 · 0 评论 -
LeetCode 79 单词搜索 (Java)
给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E']]给定 word = "ABCCE...原创 2020-02-13 19:05:33 · 213 阅读 · 0 评论 -
Leetcode 78, 46 题解 JAVA
LeetCode 78子集给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]class Solution { publ...原创 2020-02-11 22:30:39 · 101 阅读 · 0 评论 -
LeetCode 22 括号生成 (Java, DP + Set)
给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出n=3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]class Solution { public List<String> generateParenthesis(...原创 2020-02-09 23:11:52 · 159 阅读 · 0 评论 -
LeetCode 17 电话号码的字母组合
给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].做法:最简单的递归和动态规划,公式在代码里class Solution { // 字母表 ...原创 2020-02-09 19:26:31 · 82 阅读 · 0 评论 -
LeetCode 200: 岛屿数量 Java
岛屿数量给定一个由'1'(陆地)和'0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例 1:输入:11110110101100000000输出:1示例2:输入:11000110000010000011输出: 3做法:根据每个岛屿点的上下...原创 2020-02-05 20:56:26 · 316 阅读 · 0 评论 -
闲来无事刷波力扣
首先我要吐槽下,一回家果然被父母各种拉出去了,又是见人又是逛街的,还时不时的提下我没有女朋友的事实,顺便吃下自己兄弟姐妹的狗粮,不过看到自己的堂哥们和我一样,我的内心就平静许多了,晚上简单用java写了两题力扣,发一下自己的代码吧。105 从前序与中序遍历序列构造二叉树根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preo...原创 2020-01-19 23:27:40 · 134 阅读 · 0 评论 -
闲暇时光的读书刷题日常---LeetCode:二叉树的锯齿形层次遍历
二叉树的锯齿形层次遍历给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如下:[ [3], [20,9], [15,7]]...原创 2019-09-16 10:42:54 · 104 阅读 · 0 评论 -
LeetCode 中序遍历二叉树(通过栈迭代实现)
题目要求:给定一个二叉树,返回它的中序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶:递归算法很简单,你可以通过迭代算法完成吗?这题最简单的方式是递归,但是题目中要求我们用迭代的方法,所以我用栈来存储之前的情况,来进行二叉树的遍历。/** * Definition for ...原创 2019-09-15 12:01:59 · 142 阅读 · 0 评论 -
中国大学mooc,浙大数据结构-02-线性结构2 一元多项式的乘法与加法运算
设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2...原创 2019-04-06 19:45:40 · 150 阅读 · 0 评论 -
简单的SIR模型传播--numpy/matplotlib(某师范大学学生的期中大作业)
SIR模型是传染病模型中最经典的模型,其中S表示易感者,I表示感染者,R表示移出者。模型中把传染病流行范围内的人群分成三类:S类,易感者(Susceptible),指未得病者,但缺乏免疫能力,与感病者接触后容易受到感染;I类,感病者(Infective),指染上传染病的人,它可以传播给S类成员;R类,移出者(Removal),指被隔离,或因病愈而具有免疫力的人。其中S被附近节点感染的概率为beta...原创 2018-10-13 21:40:03 · 8586 阅读 · 1 评论 -
Leetcode 23,25
最近总算把一个不是很喜欢的比赛忙完了,没事刷了两道题,分享下25. k个一组翻转链表给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3-...原创 2018-07-14 20:40:23 · 391 阅读 · 0 评论 -
闲下来就刷刷题吧 Leetcode 24 两两交换链表中的节点
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.说明:你的算法只能使用常数的额外空间。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。/** * Definition for singly-linked list. * struct ListNode { * ...原创 2018-05-02 17:28:01 · 124 阅读 · 0 评论 -
LintCode:链表求和
描述:你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。样例:给出两个链表 3->1->5->null 和 5->9->2->null,返回 8->0->8->null代码:/** * Definition for singly-lin原创 2017-07-25 20:25:53 · 181 阅读 · 0 评论 -
LintCode :Big Integer Addition
描述:Given two non-negative integers num1 and num2 represented as string, return the sum of num1 and num2.注意事项The length of both num1 and num2 is Both num1 and num2 contains only d原创 2017-07-28 22:30:25 · 229 阅读 · 0 评论 -
在O(1)时间复杂度删除链表节点
给定一个单链表中的一个等待被删除的节点(非表头或表尾)。请在在O(1)时间复杂度删除该链表节点。样例Linked list is 1->2->3->4, and given node 3, delete the node in place 1->2->4/** * Definition of ListNode * class ListNode { * publ原创 2017-08-29 21:18:08 · 206 阅读 · 0 评论 -
Lintcode:First Position Unique Character
Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.样例Given s = "lintcode", return 0.Given s = "lovelintcode", return 2.原创 2017-08-29 21:38:19 · 218 阅读 · 0 评论 -
lintcode:将整数A转换为B
如果要将整数A转换为B,需要改变多少个bit位? 注意事项Both n and m are 32-bit integers.class Solution {public: /** *@param a, b: Two integer *return: An integer */ int bitSwapRequired(int a原创 2017-09-01 11:04:53 · 241 阅读 · 0 评论 -
Hihocoder #1014 : Trie树
输入输入的第一行为一个正整数n,表示词典的大小,其后n行,每一行一个单词(不保证是英文单词,也有可能是火星文单词哦),单词由不超过10个的小写英文字母组成,可能存在相同的单词,此时应将其视作不同的单词。接下来的一行为一个正整数m,表示小Hi询问的次数,其后m行,每一行一个字符串,该字符串由不超过10个的小写英文字母组成,表示小Hi的一个询问。在20%的数据中n, m在60%的数据中n,原创 2018-01-31 19:52:23 · 201 阅读 · 0 评论 -
LeetCode 3. Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "abc", which the length is 3.Given "bbbbb", the answer is "b", with原创 2018-02-07 21:13:22 · 122 阅读 · 0 评论 -
闲来无事刷波题 LeetCode 28题(KMP实现)
实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:输入: haystack = "aaaaa", needle = "bba"输出...原创 2018-05-09 09:50:39 · 291 阅读 · 0 评论 -
LintCode:二叉树的路径和
描述:给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值 的路径。一个有效的路径,指的是从根节点到叶节点的路径。样例给定一个二叉树,和 目标值 = 5: 1 / \ 2 4 / \ 2 3返回:[ [1, 2, 2], [1, 4]]/** * D原创 2017-08-01 20:08:46 · 197 阅读 · 0 评论