摘要:
34. 在排序数组中查找元素的第一个和最后一个位置 题目 难度中等739 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 进阶: 你可以设计并实现时间复杂度为 O(lo 阅读全文
摘要:
括号匹配 题目描述 给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字符串是否是合法的括号序列 括号必须以正确的顺序关闭,"()"和"()[]"都是合法的括号序列,但"(]"和"([)]"不合法。 代码实现: 首先设置一个mp,用于记录 三种括号对。 左括号:当 阅读全文
摘要:
234. 回文链表 方法: 快慢指针 主要思路: 使用快慢指针,从第一个位置开始(不是从dummyHead开始),slow最后指向的是靠后中间位置;(类似于二分) 然后我们可以在慢指针移动过程中,将前面一半的链表反转;slow之前的所有节点都以反转next。 我们获得前后两段连接: l1 = pre 阅读全文
摘要:
Leetcode 0075. 颜色分类 难度:mid 题目 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意: 不能使用代码库中的排序函数来解决 阅读全文
摘要:
SimpleMemory使用记录 页面定制 CSS 代码 *,.Cal{padding:0}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{width:3px;background-color:#f9f9f9}::-webkit-scr 阅读全文
摘要:
判断是否是二叉搜索树 通过取值范围判断,递归过程中判断; 判断是否是完全二叉树。 通过一个层次遍历判断,具体思路是: 遍历过程中,第一次遇到了空节点,则需要通过标记记录。 只要非空,就要判断前面是否出现了空(标记记录); 出现了空,则不是完全二叉树; 同时将两个子节点入队(不管是否为空都行); 完全 阅读全文
摘要:
最小编辑距离(动态规划问题) 题目描述 给定两个字符串str1和str2,再给定三个整数ic,dc和rc,分别代表插入、删除和替换一个字符的代价,请输出将str1编辑成str2的最小代价。 定义子问题: dp[i][j] 表示 长度为i的第一个字符串 编辑成长度为j的第二个字符串消耗的代价; 当st 阅读全文
摘要:
题目描述 给定无序数组arr,返回其中最长的连续序列的长度(要求值连续,位置可以不连续,例如 3,4,5,6为连续的自然数) 解法一: 排序法 import java.util.*; public class Solution { /** * max increasing subsequence * 阅读全文
摘要:
使用树组表示的完全二叉树的下表有如下规律: 0 1 2 3 4 5 6 7 8 ... 其中针对于k节点,其父节点是 (k-1)/2 (注意: 0节点除外) 对于k节点,其两个儿子节点分布是: left = 2*k + 1 ; right = 2 *k + 2; 大根堆两个主要算法: 向上调整算法: 阅读全文
摘要:
给定入栈序列,求所有可能出栈结果 这是一道招银网络的笔试题。 考试的时候有点懵逼,不知怎么这就死循环了;。Orz,挺简单的一道题目,一紧张可能就写不出来了。 // 输入序列 4 1 2 3 4 //所有输出结果,按字典序进行排列; 1 2 3 4,1 2 4 3,1 3 2 4 1 3 4 2,1 阅读全文