妙乌
码龄4年
  • 19,866
    被访问
  • 64
    原创
  • 36,837
    排名
  • 127
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2018-04-16
博客简介:

妙乌的博客

查看详细资料
  • 3
    领奖
    总分 257 当月 14
个人成就
  • 获得42次点赞
  • 内容获得5次评论
  • 获得53次收藏
创作历程
  • 23篇
    2022年
  • 38篇
    2021年
  • 3篇
    2020年
成就勋章
TA的专栏
  • 设计模式
    27篇
  • Java基础知识
    7篇
  • 算法练习题
    12篇
  • python
    1篇
  • C语言
    4篇
  • 项目管理
    2篇
  • 数据结构与Java集合框架
    5篇
  • 数据结构与算法实例
    5篇
  • 数据库
    1篇
兴趣领域 设置
  • 数据结构与算法
    排序算法
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

判断数字字符——Character.isDigit(char ch)实现源码详解

目录 函数的使用 使用场景 实现结果 源码分析 Character.isDigit(char ch)源码解析 Character.getType(int codePoint)源码解析 CharacterDataLatin1.getType(int codePoint)源码解析 总结函数的使用☀♫♪ 使用场景举例:返回字符串s中的所有数字之和。易知s中的数字分别为{3,2,3,5,3,5,2,0},其和为23s = " f3@$23%5Q3Zh5
原创
发布博客 2022.04.29 ·
207 阅读 ·
0 点赞 ·
0 评论

python实现游戏背景滚动(图片轮播)

目录 一.图片轮播 二.static修饰全局变量 三.static修饰函数一.python实现图片轮播1.1 轮播效果 图片轮播 1.2 静态局部变量(static)有时希望函数中的局部变量的值在函数调用后不会消失而继续保留原值,即其占用的存储单元不释放,在下一次再调用该函数的时候,该变量已有值就是上一次函数调用结束时的值,这时就应该指定该局部变量为“静态局部变量”,用
原创
发布博客 2022.04.17 ·
2605 阅读 ·
2 点赞 ·
1 评论

游戏背景制作

发布视频 2022.04.17

图片轮播

发布视频 2022.04.17

C语言中static关键字的用法

一.static修饰局部变量1.1 自动变量(auto)函数中的局部变量,如果不声明为static(静态)存储类别,都是动态地分配存储空间,数据存储在动态存储区中。函数中的形参和函数中定义的局部变量,都属于此类。在调用自动变量所在函数时,系统会自动给这些变量分配存储空间,在函数调用结束时就自动释放这些存储空间。实际上,关键字“auto”可以省略,不写auto则隐含指定为“自动存储类别”1.2 静态局部变量(static)有时希望函数中的局部变量的值在函数调用后不会消失而继续保留原值,即其占用的存储单
原创
发布博客 2022.04.05 ·
849 阅读 ·
1 点赞 ·
0 评论

C语言中extern关键字用法

一. 修饰变量,作为外部变量声明一句话总结:扩充了全局变量的作用域,外部变量是在函数外部定义的全局变量,它的作用域是从变量的定义处开始,到本程序文件的末尾。如果外部变量不再文件的开头定义,其有效作用域只限于定义处到文件结束。在定义点之前的函数不能引用该外部变量。若在定义点之前的函数需要引用该外部变量,则需要在引用前用关键字extern对该变量作“外部变量声明”。代码验证如下:1.1 不使用extern修饰变量代码如下:#include <stdio.h>int main(){ int
原创
发布博客 2022.04.05 ·
605 阅读 ·
0 点赞 ·
0 评论

LeetCode合并二叉树

翻转二叉树LeetCode题目来源1.1 题目描述给你两棵二叉树: root1 和 root2 。想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。返回合并后的二叉树。注意: 合并过程必须从两个树的根节点开始。1.2 示例2.1 解题2.1.1 解题方法:使用前序遍历基于树一递归建
原创
发布博客 2022.03.17 ·
29 阅读 ·
0 点赞 ·
1 评论

LeetCode根据前序与中序、中序与后序,前序与后序遍历序列构建二叉树

从前序与中序遍历序列构建二叉树LeetCode题目来源1.1 题目描述给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。1.2 示例[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dS4hCIRQ-1647352399658)(![https://img-blog.csdnimg.cn/134b2747d754499ebf7e92b646a2be2
原创
发布博客 2022.03.15 ·
790 阅读 ·
1 点赞 ·
0 评论

LeetCode翻转二叉树

翻转二叉树LeetCode题目来源1.1 题目描述给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。1.2 示例2.1 解题2.1.1 解题方法:使用递归进行计算使用前序遍历遍历二叉树,递归将左节点和右节点互换。Java版解题/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNo
原创
发布博客 2022.03.12 ·
449 阅读 ·
0 点赞 ·
0 评论

LeetCode二叉树路径总和

路径之和LeetCode题目来源1.1 题目描述给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。叶子节点 是指没有子节点的节点。1.2 示例2.1 解题解题方法:递归进行计算二叉树从上向下进行递归计算,每遍历一个节点,就用target-root.val。当叶子节点值等于最后一次target-ro
原创
发布博客 2022.03.09 ·
138 阅读 ·
0 点赞 ·
0 评论

LeetCode二叉树的最小深度

二叉树的最小深度1.1 题目描述给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点1.2 示例2.1 解题2.1.1 解题方法:递归进行计算只需要分别计算非叶子节点左右子树的最小叶子节点深度。这样就将一个大问题转化为了小问题,可以递归地解决该问题。Java版解题/** * Definition for a binary tree node. * public class TreeNode { *
原创
发布博客 2022.03.08 ·
276 阅读 ·
0 点赞 ·
0 评论

C语言运行原理

计算机不能直接识别和执行高级语言写的命令,必须用编译程序(也称编译器)把C源程序翻译成二进制形式的目标程序,然后再将该目标程序与系统的函数库以及其他目标程序连接起来,形成可执行的目标程序C语言的编译和执行需要执行以下步骤和方法上机输入和编辑源程序:通过键盘向计算机输入程序,如发现有错误,要及时改正。文件以.c作为后缀,生成源程序文件,如f.c。对源程序进行编译 :先用C编译系统提供的"预处理器"(又称"预处理程序"或"预编译器")对程序中的预处理指令进行编译预处理。例如,对#include<
原创
发布博客 2022.03.07 ·
592 阅读 ·
0 点赞 ·
0 评论

一文弄懂C语言指针底层原理

浅谈C语言指针 学习指针,我们必须明白什么是指针。教材上给出的定义为:“一个变量地址称为该变量的指针”。1.内存地址首先我们来谈谈计算机内存地址。我们都知道运行一个C语言程序需要将程序从磁盘加载到内存中进行运算。而所谓的运算可以抽象理解为计算机处理器通过地址读取指令、数据的过程。在内存中,每个字节(8位)对应有一个地址,连续存储空间对应连续地址,处理器通过地址可得到存储空间存储的数值。为了方便理解,例举出我们计算机存取变量值的原理:当我们定义一个局部变量例如short a=7时,系统会在栈中随机分配
原创
发布博客 2022.03.07 ·
554 阅读 ·
0 点赞 ·
0 评论

githHub使用基础指南

Github的使用/git远程提交代码到GithubGithub是全球最大的社交编程及代码托管网站Git是一个开源的分布式版本控制系统1.基本概念Repository(仓库):仓库用于存放项目代码,一个项目对应一个仓库Star(收藏):收藏其他开源项目Fork(复制别人项目到自己的仓库中,在自己仓库中修改项目代码不会对源仓库有影响)Pull Request(发出合并请求):fork别人代码后,可以像源仓库发出请求合并申请,将自己的代码合并到源仓库中)Issue(事件):发现代码由bug,可以
原创
发布博客 2022.03.07 ·
48 阅读 ·
0 点赞 ·
0 评论

从github下载单个文件

问题描述:github是一个很好的共享代码管理仓库,我们可以从github上直接以压缩包的形式直接download整个项目,也可以通过git,用git clone + URL 命令下载整个目录。但是,有时候项目很大,而我们需要的只是项目中的单个文件夹(例如我想要下载项目中的decorder文件)。我们可以借助TortoiseSVN来完成TortoiseSVN 的下载与安装TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央
原创
发布博客 2022.03.07 ·
437 阅读 ·
0 点赞 ·
0 评论

TreeMap集合类中的Comparator与Comparable接口详解

1.comparable接口当我们运行关于treeMap示例代码1:代码示例package com.test.ComparatorTest;import java.util.*;public class Test { public static void main(String[] args) { Map students = new TreeMap(); students.put(02,"邱烁铭"); students.put(01,
原创
发布博客 2022.03.07 ·
353 阅读 ·
0 点赞 ·
0 评论

从王者荣耀看设计模式(简单工厂模式)

从王者荣耀看设计模式(简单工厂模式)一.简介游戏开始前,玩家可从英雄池自由挑选将要出战的英雄二.简单工厂模式简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。模式动机在实际的软件开发过程中,有时需要创建一些来自相同父类的类的实例,为此可以专门定义一个类来负责创建这些类的实例,这些被创建的实例具有相同的父类。
原创
发布博客 2022.03.07 ·
15 阅读 ·
0 点赞 ·
0 评论

LeetCode平衡二叉树

平衡二叉树1.1 题目描述给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。1.2 示例2.1 解题2.1.1 解题方法一:暴力解题采用双层循环,第一层循环从数组第一个元素开始往后依次遍历,第二层循环从指定位置往后遍历寻找到与指定位置对应数之和为目标数值的数。并通过result数组返回,复杂度为O(n²)。Java版解题/** * Definition for a binary tree
原创
发布博客 2022.03.06 ·
18 阅读 ·
1 点赞 ·
0 评论

mysql忘记密码怎样重置

当我们在使用mysql数据库时,如果忘记密码会显示下图情况ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)1.关闭mysql服务器1.查找mysql安装路径中bin目录路径在计算机“服务”中找到mysql,双击找到对应路径2.以管理员权限打开命令行,跳转到安装路径下bin目录路径处3.在命令行中输入命令跳过mysql的密码验证mysqld --console --
原创
发布博客 2022.03.03 ·
828 阅读 ·
1 点赞 ·
0 评论

LeetCode将有序数组转换为二叉搜索树

将有序数组转换为二叉搜索树题目来源1.1 题目描述给定一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。1.2 示例2.1 解题2.1.1 解题方法:使用二分法与递归进行计算我们可以选择中间数字作为二叉搜索树的根节点,这样分给左右子树的数字个数相同或只相差 11,可以使得树保持平衡。如果数组长度是奇数,则根节点的选择是唯一的,如果数组长度是偶数,则
原创
发布博客 2022.02.16 ·
279 阅读 ·
1 点赞 ·
0 评论
加载更多