RONGYI AINI
码龄6年
关注
提问 私信
  • 博客:37,149
    社区:38
    37,187
    总访问量
  • 78
    原创
  • 524,660
    排名
  • 10
    粉丝
  • 0
    铁粉

个人简介:不摆不摆

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:香港
  • 加入CSDN时间: 2019-01-08
博客简介:

weixin_44456232的博客

查看详细资料
个人成就
  • 获得14次点赞
  • 内容获得7次评论
  • 获得29次收藏
创作历程
  • 11篇
    2022年
  • 16篇
    2020年
  • 51篇
    2019年
成就勋章
TA的专栏
  • 每日一题
    11篇
  • 剑指offer
  • 知识点总结
    24篇
  • 笔试面试题
    24篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

180人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

整数转罗马数字

整数转罗马数字题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX
原创
发布博客 2022.05.16 ·
341 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

盛最多水的容器

盛最多水的容器题目描述:给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例 2:输
原创
发布博客 2022.05.16 ·
161 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

正则表达式匹配

正则表达式匹配题目描述:给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。示例 1:输入:s = “aa”, p = “a”输出:false解释:“a” 无法匹配 “aa” 整个字符串。示例 2:输入:s = “aa”, p = “a*”输出:true解释:因为 ‘*’ 代表可以匹配零个或多个前面的那一个元素, 在这
原创
发布博客 2022.05.13 ·
442 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

罗马数字转整数

罗马数字转整数题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX
原创
发布博客 2022.05.11 ·
107 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

字符串转换整数(atoi)

字符串转换整数(atoi)题目描述:请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入
原创
发布博客 2022.05.10 ·
216 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

整数反转1

整数反转题目描述:给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 1:输入:x = 123输出:321示例 2:输入:x = -123输出:-321示例 3:输入:x = 120输出:21示例 4:输入:x = 0输出:0提示:-231 <= x <= 231 - 1思路分析:
原创
发布博客 2022.05.09 ·
129 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Z 字形变换

Z 字形变换题目描述:将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例
原创
发布博客 2022.05.08 ·
83 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

最长回文子串

最长回文子串题目描述给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”提示:1 <= s.length <= 1000s 仅由数字和英文字母组成思路分析:解法有很多, 本文用的动态规划.动态规划就是将一个大问题分解成多个有关联的小问题, 从而得出大问题的答案.比如 我们要知道 s[i], 到 s[j] 是不是一个回文串, 就
原创
发布博客 2022.05.08 ·
321 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

寻找两个正序数组的中位数

寻找两个正序数组的中位数题目描述给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (
原创
发布博客 2022.05.07 ·
112 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

滑动窗口最大值

滑动窗口最大值题目描述:给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 滑动窗口中的最大值 。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口的位置 最大值[1 3 -1] -3 5 3 6 7 31 [3 -1 -3] 5 3 6
原创
发布博客 2022.05.06 ·
71 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

无重复字符的最长子串

无重复字符的最长子串题目描述:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串
原创
发布博客 2022.05.05 ·
106 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux 多线程

线程什么是线程?在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”一切进程至少都有一个执行线程线程在进程内部运行,本质是在进程地址空间内运行在Linux系统中,在CPU眼中,看到的PCB都要比传统的进程更加轻量化透过进程虚拟地址空间,可以看到进程的大部分资源,将进程资源合理分配给每个执行流,就形成了线程执行流线程的优点:创建一个新线程的代价要比创建一个新进程小得多与进程之间的切换相比,线程之间的切换需要操作系统做的工作要少很多线程
原创
发布博客 2020.08.19 ·
106 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

进程间通信

进程间通信是什么?每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。进程间通信的目的是什么?数据传输: 一个进程需要将它的数据发送给另一个进程资源共享: 多个进程之间共享同 样的资源。通知事件: 一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。进程控制:
原创
发布博客 2020.08.19 ·
156 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

进程概念

冯诺依曼体系结构: 输入设备,输出设备,运算器,控制器,存储器操作系统: 任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。进程课本概念:程序的一个执行实例,正在执行的程序等内核观点:担当分配系统资源(CPU时间,内存)的实体。描述进程 - PCB: 进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合进程创建:pid_t ret = fork();if(ret < 0){ perror("fork");}else if (ret == 0){ pr
原创
发布博客 2020.08.18 ·
130 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

STL容器

vectorvector是表示可变大小数组的序列容器。就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。本质讲,vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小为了增加存储空间。其做法是,分配一个新的数组,然后将全部元素移到这个数组。就时间而言,这是一个相对代价高的任务,因为每当一个新的元素加入到容器的时候,ve
原创
发布博客 2020.08.17 ·
80 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

封装,继承,多态

1. 类与对象类的初步认识C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。类的定义class className{ // 类体:由成员函数和成员变量组成 }; // 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号。类中的元素称为类的成员:类中的数据称为类的属性或者成员变量; 类中的函数称为类
原创
发布博客 2020.08.15 ·
158 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

八大排序的基本实现

排序排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。内部排序:数据元素全部放在内存中的排序。外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。常见的排序算法
原创
发布博客 2020.08.13 ·
305 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

二叉树的前序遍历,中序遍历,后序遍历以及层序遍历

二叉树的前序遍历前序遍历(Preorder Traversal 亦称先序遍历)——访问根结点的操作发生在遍历其左右子树之前。oj链接: https://leetcode-cn.com/problems/binary-tree-preorder-traversal/submissions/递归实现:class Solution {public: vector<int> preorderTraversal(TreeNode* root) { vector<in
原创
发布博客 2020.08.12 ·
263 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构之二叉树和堆

树树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树节点的度:一个节点含有的子树的个数称为该节点的度;叶节点或终端节点:度为0的节点称为叶节点;非终端节点或分支节点:度不为0的节点;双亲节点或父节点:若一个节点含有子节点,则这个节
原创
发布博客 2020.08.12 ·
274 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构之栈和队列和相关笔试题

栈一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。特点: 先入后出栈的实现: 栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小。队列只允许在一端进行插入数据操作,在另一端进行删除数据操作的特
原创
发布博客 2020.08.12 ·
199 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多