![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
西瓜的夏天啊
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 12. 矩阵中的路径
题目:给定一个m x n 二维字符网格board 和一个字符串单词word 。如果word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。例如,在下面的 3×4 的矩阵中包含单词 “ABCCED”(单词中的字母已标出)。url:https://leetcode.cn/problems/ju-zhen-zhong-de-lu-jing-lcof/示例原创 2022-07-07 21:53:40 · 118 阅读 · 0 评论 -
算法题的思路
刷题技巧减少时间复杂度类似于数组、字典一类的结构是直接访问地址查询数据的,查询时间是O(1)的,因此将想要查询的数当做字典的key,是常用的一种减少时间复杂度的关键持续补充原创 2022-04-22 00:01:41 · 130 阅读 · 0 评论 -
替换空格_
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000思路1:新建一个字符串,用于拼接,是空格则拼接"%20" 否则就拼接本身时间:O(n);空间:O(n) public static string ReplaceSpace(string s) { string temp_string = "";原创 2022-04-28 13:27:57 · 228 阅读 · 0 评论 -
3数组中重复的数(剑指)
找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 100000namespace ConsoleApp2;public class 数组中重复的数字{ //思路1:拿到一个数,就把他存放到字典里,值当做key原创 2022-04-26 12:19:59 · 133 阅读 · 0 评论 -
二维数组中的查找
二维数组中的查找原创 2022-04-28 11:26:24 · 187 阅读 · 0 评论 -
用两个栈实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。①可以用一个取巧的方法,java的stack有个很搞的地方,就是有个add的方法,这个方法可以进行对指定位置进行添加元素import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stac...原创 2019-10-18 12:15:02 · 115 阅读 · 0 评论 -
重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。import java.util.*;public class Solution { public TreeNode reConstructB...原创 2019-10-17 16:54:11 · 96 阅读 · 0 评论 -
从尾到头打印链表
题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。①利用栈,依次将节点的val值放到栈里,然后依次出栈,将出栈的元素放入集合中import java.util.*;public class test { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ...原创 2019-10-17 16:06:39 · 85 阅读 · 0 评论 -
替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。c++①暴力,从前往后,遇到空格依次移动后面的,这样时间复杂度是o(n²)的第二种就是思路就是,计算空格的个数,那么就知道应该扩多大了,然后就知道每个元素应该移动多少位置了,然后从后往前,遇到空格就移动后面的位置两个下标...原创 2019-10-17 14:46:20 · 201 阅读 · 0 评论 -
二维数组中的查找
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。方法① 时间O(n) 空间o(1)bool Find(int target, vector<vector<int> > array) { int r...原创 2019-10-17 11:26:50 · 105 阅读 · 0 评论