OJ
文章平均质量分 82
lady_killer9
CKA、CKS证书持有者,安全工程师
展开
-
有限状态机详解与举例(leetcode 1023)
目录三特征四要素注意项举例leetcode1023思路代码三特征状态(state)总数是有限的 任意时刻只处于一种状态 某条件下会从一个状态转到下一个状态四要素当前状态:当前所处的状态 条件/事件:触发动作或转换的情况,例如输入 动作/转换:根据条件/事件,将一个状态转换到下一状态 下一状态:动作转换的下一状态,转换后这一状态就成了当前状态注意项状态不要漏掉 动作不要当做状态举例leetcode1023如果我们可以将小写字母插入模式串..原创 2021-10-07 12:35:35 · 1773 阅读 · 0 评论 -
算法-贪心算法详解
顾名思义,贪心算法或贪心思想采用贪心的策略,保证每次操作都是局部最优的,从而使最后得到的结果是全局最优的。钞票支付问题 有1元、5元、10元、20元、100元、200元的钞票无穷多张。现使用这些钞票支付x元,最少需要多少张? 例如,X=628面额为1元、5元、10元、20元、100元、200元,任意面额是比自己小的面额的倍数关系。添加7元就不成立了。局部最优不满足了:X=14时,选7+7比选10+5+1+1要好。或者说,X=14时的第一个选择,不是X=13时的第一个...原创 2021-07-18 21:45:45 · 1782 阅读 · 2 评论 -
OJ-leetcode-53. 最大子序和(简单动态规划)
目录题目思路(错)思路代码结果题目给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1提示:1 <= nums.length <= 3 * 104 -105 <= nums[i] <= 10原创 2021-03-09 20:46:56 · 10369 阅读 · 4 评论 -
剑指 Offer 58 - I. 翻转单词顺序(简单字符串)
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。示例 1:输入: "the sky is blue"输出: "blue is sky the"示例 2:输入: " hello world! "输出: "world! hello"解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 3:输入:...原创 2020-12-27 14:48:29 · 6783 阅读 · 0 评论 -
剑指 Offer 48. 最长不含重复字符的子字符串(中等滑动窗口)
滑动窗口class Solution: def lengthOfLongestSubstring(self, s: str) -> int: # dic 保存 dic, res, left, n = {}, 0, -1, len(s) for right in range(n): if s[right] in dic: left = max(dic[s[right]], left) #原创 2020-12-03 19:49:43 · 506 阅读 · 0 评论 -
OJ-leetcode-374. 猜数字大小(简单二分查找)
目录题目思路代码更优题解题目猜数字游戏的规则如下: 每轮游戏,我都会从 1 到 n 随机选择一个数字。 请你猜选出的是哪个数字。 如果你猜错了,我会告诉你,你猜测的数字比我选出的数字是大了还是小了。你可以通过调用一个预先定义好的接口 int guess(int num) 来获取猜测结果,返回值一共有 3 种可能的情况(-1,1 或 0): -1:我选出的数字比你猜的数字小 pick < num 1:我选出的数字比你猜的数字大 pick &...原创 2020-12-02 21:12:36 · 643 阅读 · 0 评论 -
剑指 Offer 03. 数组中重复的数字(简单数组)
目录题目思路1代码思路2代码提升笔记题目找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3限制:2 <= n <= 100000来源:力扣(LeetCode)链接:https://leetcode-cn.co原创 2020-11-26 21:26:53 · 627 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找(中等数组)
目录题目思路1代码思路2代码提升笔记题目在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [...原创 2020-11-27 20:01:32 · 539 阅读 · 0 评论 -
OJ-leetcode-763. 划分字母区间(中等并查集)
目录题目思路代码结果更优题解提升笔记全部代码题目字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。示例 1:输入:S = "ababcbacadefegdehijhklij"输出:[9,7,8]解释:划分结果为 "ababcbaca", "defegde", "hijhklij"。每个字母最多出现在一个片段中。像 "ababcbacadefegde", "hij原创 2020-10-22 11:32:40 · 541 阅读 · 0 评论 -
OJ-leetcode-15. 三数之和(中等双指针)
目录题目思路代码结果优秀题解提升笔记全部代码题目给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]链接:https://leetcode-cn...原创 2020-10-06 10:12:41 · 540 阅读 · 0 评论 -
OJ-leetcode-117. 填充每个节点的下一个右侧节点指针II(中等二叉树)
目录题目思路1代码结果思路2代码结果优秀题解提升笔记优化代码题目给定一个二叉树struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。进阶: 你只能使用常量级额外空间。...原创 2020-09-28 16:55:25 · 586 阅读 · 0 评论 -
OJ-leetcode-235. 二叉搜索树的最近公共祖先(简单二叉搜索树)
目录题目思路代码结果优秀题解提升笔记题目给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,8,0,4,7,9,null..原创 2020-09-27 11:13:27 · 511 阅读 · 0 评论 -
OJ-leetcode-113. 路径总和 II(中等二叉树)
目录题目思路代码结果优秀题解提升笔记全部代码参考题目给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / ...原创 2020-09-26 22:56:42 · 616 阅读 · 0 评论 -
OJ-leetcode-106. 从中序与后序遍历序列构造二叉树(递归、二叉树)
目录题目思路代码结果优秀题解提升笔记全部代码相关题目题目根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 15 7链接:https://leetcode-cn.com/problems/construct...原创 2020-09-25 11:13:31 · 652 阅读 · 1 评论 -
leetcode-557. 反转字符串中的单词III(简单字符串)
目录题目思路1代码1结果1思路2代码2结果2更优秀题解提升笔记优化全部代码题目给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例:输入:"Let's take LeetCode contest"输出:"s'teL ekat edoCteeL tsetnoc"提示: 在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。来源:力扣(LeetCode)链接:https://l...原创 2020-08-30 19:09:15 · 748 阅读 · 0 评论 -
OJ-OJ网站题目分类,分难度整理笔记(leetcode、牛客网)
目录前言线性表栈队列树图查找排序递归递推贪婪动态规划数论模拟简单前言目录与数据结构(严蔚敏版)与算法的实现(含全部代码)相对应,为这个专栏的实战,为了更方便,树之前使用STL进行解题,也算专栏C++ STL容器用法示例大全的实战。语言使用c++,每篇文章题目为网站-题目(难度类型),每篇文章分为题目、思路、更优题解、提升笔记、优化代码、全部代码。用于个人笔记,分享思路与代码优化。线性表栈队列树...原创 2020-08-28 10:07:13 · 23522 阅读 · 1 评论 -
OJ-leetcode-657.机器人能否回到原点(简单模拟)
目录题目思路1代码结果思路2代码结果更优秀题解提升笔记优化代码结果全部代码题目在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R(右),L(左),U(上)和 D(下)。如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false。注意:机器人“面朝”的方向无关.原创 2020-08-28 10:04:52 · 672 阅读 · 0 评论 -
中位数-北邮2014研究生复试
地址:http://10.105.242.80/problem/p/276/276. 中位数时间限制 1000 ms 内存限制 65536 KB题目描述给定一个长度为N的非降数列,求数列的中位数。中位数:当有序数列的项数N为奇数时,处于中间位置的变量即为中位数;当N为偶数时,中位数则为处于中间位置的两个数的平均数。输入格式输入数据第一行是一个整数T(1<=T<=...原创 2019-02-26 16:52:16 · 1050 阅读 · 0 评论 -
内存分配-北邮OJ277
地址:http://10.105.242.80/problem/p/277/277 . 内存分配题目描述在操作系统中,内存分配是非常重要的工作。已知内存空间由N个内存块组成,这些内存块从1到N编号,进行内存分配时,操作系统将选择一块大小足够的内存全部分配给请求内存的进程。例如,当进程请求10MB的内存时,操作系统必须向该进程分配一个不小于10MB的内存块。内存块不能被重复分配。操作...原创 2019-02-26 21:46:16 · 1037 阅读 · 0 评论 -
丁神去谷歌-北邮OJ416
地址:http://10.105.242.80/problem/p/416/416. 丁神去谷歌时间限制 1000 ms 内存限制 65536 KB题目描述丁神要去Google上班了,去之前丁神想再做一道水题,但时间不多了,所以他希望题目做起来既水又快。现在一共有n道题,编号从1到n,每道题有两个值a和b,a为做这道题需要的时间,b为题目的“水值”,丁神希望做b/a最大的那题。...原创 2019-02-27 10:21:59 · 1437 阅读 · 0 评论 -
丁神又去谷歌(0/1背包)-北邮OJ417
地址:http://10.105.242.80/problem/p/417/417. 丁神又去谷歌时间限制 1000 ms 内存限制 65536 KB题目描述丁神又要去Google上班了,这一次丁神想多做几道水题,并使题目的总水量最大.丁神同一时刻只能在水一道题,只有做完这道题才能得到它的水值,丁神的总时间为t,现在一共有n道题,编号从1到n,每道题有两个值a和b,a为做这道题需要...原创 2019-02-27 11:21:39 · 1165 阅读 · 0 评论 -
2019北邮计算机院机试真题
目录计算机院机试真题Problem A 二进制Problem B 二叉树Problem C 最短路径Problem D 方块阵计算机院机试真题计算机院的机试题真难,没有4A的,第四题的题目看了一下,好像是矩阵的,题目记不清了,如果你考计算机院也不建议你准备第四题。18年的第四题是动态规划,也是0A。今年网研的机试题比较简单,有不少4A的。Problem A 二进制题目描述32位二进制数 ...原创 2019-04-01 08:38:54 · 7096 阅读 · 6 评论 -
912星球的研究生-北邮OJ104
地址:http://10.105.242.80/problem/p/104/104. 912星球的研究生时间限制 1000 ms 内存限制 65536 KB题目描述最近912星球的研究生入学了,912星球的教务处因此忙的焦头烂额,要求yzr做一个信息管理系统登陆查询研究生的考试成绩。但是yzr太弱了,你能帮帮忙么?912星球的每一位研究生都有一个名字id和一份星球考研成绩,可喜的...原创 2019-02-26 15:42:06 · 890 阅读 · 0 评论