剑指offer
#
ACTIM__
ACTIM
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【剑指Offer】24. 反转链表
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode reverseList(ListNode head) { if (head == null || head.next原创 2020-10-09 21:36:03 · 205 阅读 · 0 评论 -
【剑指Offer】面试题40. 最小的k个数(c++ 优先队列 [priority_queue] / 第n大元素线性时间选择 [nth_element])
题目 解法一:选择排序 (前n) O(n * k) class Solution { public: vector<int> getLeastNumbers(vector<int>& arr, int k) { vector<int> ans(k); for(int i = 0; i < k; i++){...原创 2020-03-20 21:27:52 · 487 阅读 · 0 评论 -
【剑指Offer】面试题59 - II. 队列的最大值(c++)
题目 https://leetcode-cn.com/problems/dui-lie-de-zui-da-zhi-lcof/ 解题思路 使用一个双向链表辅助,保存最大值序列 Note:链表中小于后插入的元素的元素,对结果没有影响 代码 class MaxQueue { private: queue<int> que; list<int> que_vice;...原创 2020-03-07 17:50:54 · 444 阅读 · 1 评论 -
【剑指offer】面试题57 - II. 和为s的连续正数序列
1. 题目 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。 题目链接 2. 解题思路 滑动窗口啦 3. 代码 class Solution { private: int calc(int i, int j){ return (i + j) * (j - i + 1...原创 2020-03-06 14:01:33 · 220 阅读 · 0 评论 -
【剑指offer】Q4_二维数组中的查找
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解答 # -*- coding:utf-8 -*- class Solution: # array 二维列表 # target 查找目标 def Find(self, t...原创 2019-09-02 23:45:00 · 244 阅读 · 0 评论 -
【剑指offer】Q5_替换空格
题目 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解 由于原书使用c++进行叙述,本题实际意在考察数组操作,像下面这种写法肯定不是题目原意 # -*- coding:utf-8 -*- class Solution: # s 源字符串 def replaceSpace...原创 2019-09-06 22:19:47 · 233 阅读 · 0 评论 -
【剑指offer】Q6_丛尾到头打印链表(python)
题目 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 解 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None from collections import deque class Solut...原创 2019-09-08 16:07:29 · 230 阅读 · 0 评论 -
【剑指offer】Q7_重建二叉树
题目 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 解(迭代 使用类似排序树的方法定位结点位置) # -*- coding:utf-8 -*- class TreeNode: def __init__...原创 2019-09-16 18:18:57 · 253 阅读 · 0 评论 -
【剑指offer】Q9_用两个栈实现队列
题目 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解答 两个栈来回倒就能访问栈底了,没啥说的 # -*- coding:utf-8 -*- class Solution: def __init__(self): self.stark1 = [] # 用list模拟栈 在后续代码中不得违反栈的操作规则 self.st...原创 2019-09-19 22:31:59 · 232 阅读 · 0 评论
分享