数据结构与算法
HuanChan
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode 154. 寻找旋转排序数组中的最小值 II
154. 寻找旋转排序数组中的最小值 II 题目 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2])。 找到其中最小的元素。 注意数组中可能存在重复的元素。 示例 1: 输入: [1,3,5], 输出: 1 示例 2: 输入: [2,2,2,0...原创 2018-04-24 15:19:28 · 758 阅读 · 0 评论 -
LeetCode 27. 移除元素
27. 移除元素 题目 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 nums = [3,2,2,3], val...原创 2018-04-24 15:21:47 · 331 阅读 · 0 评论 -
Leetcode 141. 环形链表
141. 环形链表 题目 给定一个链表,判断链表中是否有环。 进阶: 你能否不使用额外空间解决此题? 思路 1) 采用额外空间,使用 hashset 2)采用快慢指针 代码 采用 hashset public class Solution { public boolean hasCycle(ListNode head) { i...原创 2018-04-24 15:23:26 · 271 阅读 · 0 评论 -
LeetCode 142. 环形链表 II
142. 环形链表 II 题目 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 说明:不允许修改给定的链表。 进阶: 你是否可以不用额外空间解决此题? 思路 1)采用 hashset ,返回第一个重复出现的节点 2) 采用双支针,出现重复之后,慢指针返回到头结点,快指针继续,两者每次都走一步,直到相遇 代码 /...原创 2018-04-24 15:24:02 · 1444 阅读 · 0 评论 -
PTA— 04-树4 是否同一棵二叉搜索树(25 分)【java语言实现】
04-树4 是否同一棵二叉搜索树(25 分)【java语言实现】 给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。 输入格式: 输入包含若干组测试数据。每组数据的第1行给...原创 2018-04-24 20:17:50 · 425 阅读 · 0 评论 -
leetcode ——从排序数组中删除重复项 II
从排序数组中删除重复项 II 题目 数组中的元素最多允许重复两次 思路 采用 count 计数,如果 count >2 跳过;否者存储元素 代码 public class Solution { public int removeDuplicates_2(int[] nums) { if (nums.length == 0) ...原创 2018-04-25 09:43:07 · 216 阅读 · 0 评论 -
PTA——03-树1 树的同构(25 分)【java语言实现】
题目 给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 现给定两棵树,请你判断它们是否是同构的。 输入格式: 输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N (≤10),即该树的结点数(此...原创 2018-04-21 17:38:21 · 352 阅读 · 0 评论 -
PTA——03-树2 List Leaves(25 分)【java语言实现】
03-树2 List Leaves(25 分) 题目 Given a tree, you are supposed to list all the leaves in the order of top down, and left to right. Input Specification: Each input file contains one test case. For eac...原创 2018-04-21 17:48:17 · 308 阅读 · 0 评论 -
PTA——03-树3 Tree Traversals Again(25 分)【java语言实现】
03-树3 Tree Traversals Again(25 分) 题目 An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the keys num...原创 2018-04-21 18:03:14 · 529 阅读 · 0 评论 -
LeetCode 441. 排列硬币 Arranging Coins
441. 排列硬币 题目 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币。 给定一个数字 n,找出可形成完整阶梯行的总行数。 n 是一个非负整数,并且在32位有符号整型的范围内。 示例 1: n = 5 硬币可排列成以下几行: ¤ ¤ ¤ ¤ ¤ 因为第三行不完整,所以返回2. 示例 2: n = 8 硬币可排列成以下几行:...原创 2018-04-26 20:33:54 · 745 阅读 · 0 评论 -
LeetCode 454. 四数相加 II 4Sum II
454. 四数相加 II 4Sum II 题目 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。 为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 ...原创 2018-04-26 20:34:26 · 920 阅读 · 0 评论 -
LeetCode 617. 合并二叉树 Merge Two Binary Tree
617. 合并二叉树 题目 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 示例 1: 输入: Tree 1 Tree 2 ...原创 2018-04-26 20:35:28 · 737 阅读 · 0 评论 -
素数——求正整数 l - r 中素数的个数
打印素数 1. 素数定义 素数(prime number)又称质数,有无限个。 素数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。 2.方法 假设 x 是素数,那么 x 的倍数 2x,3x,4x,5x…. 将全部都是素数。依次内推,可以将所有的素数找出 定义一个一维数组,用于存储素数,数组的大小为 int [] array = new int[r+1]; 计算的时候,需要...原创 2018-08-06 13:53:23 · 2186 阅读 · 0 评论
分享