
数据机构
The Best of jc
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
剑指offer 字符流中第一个不重复的字符
题目 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述 如果当前字符流没有存在出现一次的字符,返回#字符。 思路 用数组c把字符的出现次数存入数组,用字符串s保存字符,然后遍历字符串s,若遇到第一个出现次数为1的字符就返回,否...原创 2020-01-14 10:16:44 · 150 阅读 · 0 评论 -
剑指offer 包含min函数的栈
题目 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 用一个辅助栈 存储最小值,若node值比stack2当前存的值小,则压入栈,否则同时压入栈。出栈的时候,两个栈的栈顶元素相等才出栈,否则只有sack1出栈。 import java.util.Stack; public class Solution { Stack<Int...原创 2020-01-11 11:37:14 · 122 阅读 · 0 评论 -
剑指offer 用两个栈实现队列
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思想 由队列的结构和特点 得知队列是先进先出的,队头是弹出元素,队尾是添加元素,由此用stack1实现添加元素,stack2 实现弹出元素。 import java.util.Stack; public class Solution { Stack<Integer> stack1 = new...原创 2020-01-08 10:23:17 · 116 阅读 · 0 评论 -
最大子序和的四种方法
题目:给定一个整数数组a,找到一个具有最大和的连续子数组(子数组中最少包含一个元素),返回其最大和。 例子: 输入[-2,1,-3,4,-1,2,1,-5,4], 输出:6 最大的子系列是[4,-1,2,1] 第一种方法:暴力解法 三个for循环 第一个for 定义子序列和的起始点i 第二个for定义子序列和的终止点j; 第三个for定义i-j之间的子序列和sum,每一次将sum与max比较,if...原创 2019-01-17 16:48:58 · 379 阅读 · 0 评论