
leetcode/剑指offer
斋藤飞鸟好帅!
yangqee0409
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode54.Spiral Matrix
LeetCode54.Spiral Matrix原创 2022-07-06 10:23:15 · 276 阅读 · 0 评论 -
leetcode231. Power of Two
t题目:Given an integern, returntrueif it is a power of two. Otherwise, returnfalse.An integernis a power of two, if there exists an integerxsuch thatn == 2x.Example 1:Input: n = 1Output: trueExplanation: 20 = 1Example 2:Input: n = 1...原创 2021-12-21 16:58:15 · 165 阅读 · 0 评论 -
leetcode-python+java带你刷题【持续更新】
持续性分专题刷新Leetcode,表格按照Topic分类,可按顺序做。适用于有一定编程基础想要全面刷题练习的同学。本篇主Easy+Medium,后期会更新Hard。原创 2021-09-01 11:03:21 · 147 阅读 · 0 评论 -
[leetcode]1.两数之和 + 哈希表:梦开始的地方,英语的abandon
方案一:暴力题解没什么可说的,当然不是面试官想看到的方案二:直白来说就是找数组里的指定值,这个find过程要找很多次,那我们就想到了用“字典映射”。原创 2021-09-01 10:59:38 · 102 阅读 · 0 评论 -
[python-leetcode20]括号匹配
s = '(]{)[{(})}'# s = '()'if len(s) % 2 == 1: print('字符串个数为奇数,无法匹配')else: pairs = { ")": "(", "]": "[", "}": "{", } stack = list() for ch in s: # print(ch) if ch in pairs: # prin...原创 2021-07-06 19:50:16 · 255 阅读 · 0 评论 -
[python-剑指offer]6.旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。class Solution: def minNumberInRotateArray(self, rota...原创 2019-12-25 16:04:42 · 96 阅读 · 0 评论 -
[python-剑指offer]11.二进制中1的个数
Python中为什么可以通过bin(n & 0xffffffff)来获得负数的补码?Python中的整型是以补码形式存储的 Python里bin(一个10进制负数),输出的是它原码的二进制表示加上个负号(为了方便查看) (内置函数描述bin() 返回一个整数int 或者长整数 long int 的二进制表示) ...原创 2019-12-25 16:04:13 · 154 阅读 · 0 评论 -
[python-剑指offer] 7.裴波那契数列
# -*- coding:utf-8 -*-class Solution: def Fibonacci(self, n): # write code here f=[0,1,1] #f是一个list if n<3: return f[n] for i in range(3,n+...原创 2019-11-19 19:41:12 · 228 阅读 · 0 评论 -
[python-剑指offer] 4.重建二叉树
递归最重要的两部分:递归体和边界条件题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路:前序遍历的第一个元素一定是根节点,创建根节点找到根节点在中序遍历的位置,那么这个节点左边的节点全是它的左...原创 2019-11-18 21:55:33 · 173 阅读 · 0 评论 -
[Java-剑指offer] 54. 字符流中第一个不重复的字符
思路:用HashMap键值对的特性记录字符出现的次数ArrayList按照HashMap顺序存放所有在 HashMap的值,最后用for循环遍历取出来import java.util.ArrayList;import java.util.HashMap;public class Solution { HashMap<Character, Integer> map ...原创 2019-10-31 15:35:53 · 126 阅读 · 0 评论 -
[Java]-汉诺塔
递归最重要的两个部分就是边界范围和递归体!这里的边界范围就是n==1的时候汉诺塔动态演示三个汉诺塔图解:代码实现:public class MainClass { public static void main(String[] args) { int nDisks = 3; doTowers(nDisks, 'A', 'B', 'C'...原创 2019-10-29 19:49:24 · 135 阅读 · 0 评论 -
[Java-剑指offer] 3.从尾到头打印链表
方法一:栈思路:原本顺序是从头到尾打印。反过来从尾到头打印和栈一样。引入栈。注意:1、引入栈记得import java.until.StacklistNode的值上面注释题目有给,是listNode.val2.Stack<Integer> stack = new Stack<>();ArrayList<Integer> list = new...原创 2019-10-28 17:33:56 · 108 阅读 · 0 评论 -
[Java-剑指offer] 18.二叉树的镜像
思路:直接递归交换每个节点的左右孩子注意:判断节点是否存在用是否=null(小写!)不能直接if(node),因为它不是boolean型!2.是root.left不是root->leftpublic class Solution { public void Mirror(TreeNode root){ if(root == null) ...原创 2019-10-28 16:19:04 · 116 阅读 · 0 评论 -
[Java-剑指offer]33.丑数
最简单思路:(第1500个丑数为859963392,超出内存,通过率仅80%多)public class Solution { public int GetUglyNumber_Solution(int index) { /*如果能被2整除就连续除以2; 如果能被3整除就连续除以3; 如果能被5整除就连续除以5; 最后...原创 2019-10-28 15:31:51 · 146 阅读 · 0 评论 -
[Java-剑指offer] 5.用两个栈实现队列
题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型思路: stack1,stack2都为空,抛出异常 stack2为空,stack1不空。stack2.push(stack1.pop())将stack1的元素弹出并压入栈stack2(用双层循环嵌套)(主旨:stack1的元素必须等到s...原创 2019-10-28 09:49:00 · 93 阅读 · 0 评论 -
[Python+Java]-排序算法总结
参考链接附:Java标准库已经内置了排序功能Arrays.sort(ns);1.冒泡排序思想:像气泡一样,小的冒上去每一轮循环后,最小的一个数被交换到开始,因此,下一轮循环就可以“刨除”最开始的数,每一轮循环都比上一轮循环的结束位置靠后一位。代码:import java.util.Arrays;public class Main { public static...原创 2019-10-26 11:02:12 · 210 阅读 · 0 评论 -
[Java-剑指offer] 2.替换空格
2.请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。public class Solution { public String replaceSpace(StringBuffer str) { return str.toString().replace(" ...原创 2019-10-23 13:04:54 · 114 阅读 · 0 评论 -
剑指offer-python+Java版 [更新中]
剑指offer-Java版,所有源码都已通过牛客网测试用例表格第一列点击可直接跳转到牛客网该题链接,第二列为对应题目源码(python+Java)列表中没有的属于简单题目题目 java 1.二维数组的查找 查看源码 2.替换空格 查看源码 3.从头到尾打印链表 查看源码 4.重建二叉树 python实现 5.两个栈实现......原创 2019-10-23 00:09:00 · 157 阅读 · 0 评论 -
[Java-剑指offer] 1. 二维数组的查找
1.在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。Java中获取数组长度://一维数组(one-dimensional array)int[] array = {1,2,3,4,5,};size = array.length();...原创 2019-10-22 22:52:19 · 108 阅读 · 0 评论