1028-数组合并

原题思想:本题考察的是双指针的应用;可以新建一个新的数组,用来存放两者的结果;首先比较AB中数字的大小,如果A中的数字小于B中的数字,则将A中的数字放到新建的数组C的后面,此处C命名为temp,否则是B中的放到后面;当A或B中的某一个指针移动到末尾时,说明A或B的数字已经全部加到了temp的后面,但有另外一个数组的数据还没有添加完,因此,再写两个while循环,将剩余的数据放到新建的数组的后面;最后,将temp中的数字,全部赋值到A中;不能对temp数组直接赋值,需要用memset()初始化
分类: 其他 发布时间: 01-29 23:36 阅读次数: 0

1027-二叉树的层次遍历

原题:牛客题目描述给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)例如:给定的二叉树是{3,9,20,#,#,15,7},该二叉树层序遍历的结果是[[3],[9,20],[15,7]]示例1输入{1,2}返回值[[1],[2]]示例2输入{1,2,3,4,#,#,5}返回值[[1],[2,3],[4,5]]说明:本题目包含复杂数据结构TreeNode,点此查看相关信息思想:本例考量二叉树的层次遍历,首先题目给出了该二叉树的结构,
分类: 其他 发布时间: 01-29 23:36 阅读次数: 0

1027-实现二叉树的前序、中序和后序遍历

题目地址:牛客算法思想:首先题目给出了一个数组,根据输出的结果知道,2是左孩子,1是根节点,3是右孩子,因此可以直接遍历这棵树,当根节点不为空的时候递归遍历即可;最后的结果输出的是一个二维数组,意思是第一行为前序遍历的结果;第二行为后续遍历的结果;第三行为后序遍历的结果。根据测试框给出的样式,该二维数组使用的是vector变长数组结构,因此需要先定义三个不同的前中后的遍历数组,通过使用引用的方式,直接在遍历时修改其结果。最后将这三个不同的前中后数组定义为二维变长数组即可。代码:/** * s
分类: 其他 发布时间: 01-29 23:35 阅读次数: 0

1027-二分查找

解题思路:根据二分法的算法思想,需要使用左右两个下标寻找得到的值,在本题中,第一次二分就能得到最后的值,但是输出的index是3,因此需要从找到的位置的左指针处+1;class Solution {public: /** * 二分查找 * @param n int整型 数组长度 * @param v int整型 查找值 * @param a int整型vector 有序数组 * @return int整型 */ int up.
分类: 其他 发布时间: 01-29 23:35 阅读次数: 0

Ubuntu18.04安装lib**等包的单个下载地址!

Ubuntu18.04安装lib**等包的单个下载地址!https://pkgs.org/download/https://packages.ubuntu.com/zh-cn/groovy/i386/gcc-10-base/download
分类: 其他 发布时间: 01-29 23:35 阅读次数: 0

Ubuntu18.04安装wine5.0

1.准备工作:1.1首先更新自己的sources.list中的文件;使用命令:sudo gedit /etc/apt/sources.list 在打开的文件中,添加如下两行:deb http://security.ubuntu.com/ubuntu xenial-security main deb http://cz.archive.ubuntu.com/ubuntu groovy main 添加这两行的目的是为了下载lib**一类的安装包,不需要单个去找了;1.2使用命令更新:sud
分类: 其他 发布时间: 01-29 23:34 阅读次数: 0

libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: swrast

使用wine,打开微信和QQ的时候提示以下两个错误:libGL error: No matching fbConfigs or visuals foundlibGL error: failed to load driver: swrast参考了很多方法,并没有起到作用,最后找到了这个:https://askubuntu.com/questions/834254/steam-libgl-error-no-matching-fbconfigs-or-visuals-found-libgl-error-
分类: 其他 发布时间: 01-29 23:34 阅读次数: 0

ModuleNotFoundError: No module named ‘importlib_metadata‘

Jupyter server process finishedTraceback (most recent call last): File "/home/wgj/anaconda3/lib/python3.7/site-packages/jsonschema/__init__.py", line 31, in <module> from importlib import metadataImportError: cannot import name 'metadata' from
分类: 其他 发布时间: 01-29 23:34 阅读次数: 0

module ‘cv2‘ has no attribute ‘samples‘

---------------------------------------------------------------------------AttributeError Traceback (most recent call last)<ipython-input-8-cd7705adf4e1> in <module>----> 1 cascade.load(cv.samples.findFile("/hom
分类: 其他 发布时间: 01-29 23:34 阅读次数: 0

11-02 两个数组的交集

原题思路:如果这个题给出的不是变长数组,可以使用哈希数组进行判定,但是给出的变长数组,在使用其最大长度定义数组的时候会报错,因为可能是0;因此,这个题使用UNordered_set数组进行操作,set数组能够自动去重。这样,我们首先建立两个set数组h, h1,在遍历第一个数组num1的时候,将数组中的元素压入到set数组h中去,之后遍历第二个num2数组,如果num2中的元素出现在h1中,则判断这个元素是否已经被压入到h2中,如果在h2中没有出现,则将这个元素压入到最终的结果中。如果没有判断是否
分类: 其他 发布时间: 01-29 23:33 阅读次数: 0

11-03回文数

原题思想:不知道为什么itoa()这个函数不能用, 如果能用的话直接变为字符串进行操作即可;首先将输入的整数变为数组,之后判别数组的首尾即可,值得注意的是,当输入的数字是个负数的时候,其输出的结果一定是false;class Solution {public: bool isPalindrome(int x) { vector<int> num; if(x < 0) return false; wh
分类: 其他 发布时间: 01-29 23:33 阅读次数: 0

11-04整数反转(强制类型转换)

原题:分析:题目给出了整数的范围,如果超出这个范围则数据会溢出,当溢出的时候返回的结果是0;因为给出的X的范围是整数型int,那么存储结果的时候可以使用long,之后再进行强制类型转换,这样可以保留到int能够保留的数值大小且不会溢出。最后使用三元组判别法判别进行输出。class Solution {public: int reverse(int x) { long ans = 0; while(x != 0) { in
分类: 其他 发布时间: 01-29 23:33 阅读次数: 0

11-05 最大子序和

原题:解法:首先是最大值的定义。INT_MIN这个是默认的,INT_MAX整形的最大值;利用贪心的思想求解这道题,其时间复杂度会控制在O(N)。**所谓贪心,就是只管当前能够得到的最大值,别的事情都不管。**因为求的是最大连续子列和,那么当前几个数字相加得到的结果比初始最大值要大的时候,那么就更新,如果前面的数字小于零,那么直接讲求得的和重置为0,重新开始即可。有很多人提到了动态规划或者暴力的解法,可能容易想到但不容易操作,如果限定了时间,暴力在数据规模很大的时候会超时。class Soluti
分类: 其他 发布时间: 01-29 23:33 阅读次数: 0

11-05 最后一个单词的长度

题目思路:首先讲字符串反转,变为从前到后开始统计;如果反转之后的字符串前面有空格,那么则不统计,但是为了防止这一点出现,可以在循环的时候加一个判断,只返回统计的长度不为0的时候的值;如果遍历得到的值不是空格,则统计其长度,这样当遍历得到的全为空格的时候,cnt是不会增加的,输出的一定是0。class Solution {public: int lengthOfLastWord(string s) { int len = s.length(); revers
分类: 其他 发布时间: 01-29 23:32 阅读次数: 0

WPS检测到字体缺失Windows字体包方正字体库

下载字体包:https://download.csdn.net/download/weixin_45885232/13091733使用如下命令:sudo cp MTEXTRA.TTF symbol.ttf webdings.ttf wingding.ttf WINGDNG2.TTF WINGDNG3.TTF /usr/share/fontssudo mkfontscale sudo mkfontdir sudo fc-cache ...
分类: 其他 发布时间: 01-29 23:32 阅读次数: 0

11-06 第三大的数

原题链接解析:根据题目的描述,如果有重复的数字需要进行去重操作,因此想到了set数组,而且题目给出的是从大到小的排序,结合set的特征,进行重载。当不满足3个数字的时候,要输出其中最大的那个数字,那么重载之后一定是第一个,输出set的开头元素即可。补充一下set的排序操作:默认情况下,set是从小到大进行排序的,当需要从大到小进行排序时,需要进行重载,重载的方式为set<int, greater> s;在定义中加入了greater的参数。补充一下set的插入和遍历:set的插入操
分类: 其他 发布时间: 01-29 23:32 阅读次数: 0

11-06 字符串相加

原题链接解析:题目为长整数相加的变形版本,因为其比较长,所以考虑使用双指针的策略,从右到左依次进行遍历和计算,当相加的数值carry大于10时,取其余数,添加到字符串后面,之后对carry取整,进行下一次的操作。为了防止在相加的过程中有一个到了头另外一个没到,所以在每一个数组相加的时候,都判断一下是否是到头了,即i>=0 或j>=0。最后将得到的字符串进行反转即可。完整代码:class Solution {public: string addStrings(string
分类: 其他 发布时间: 01-29 23:32 阅读次数: 0

11-07 计数质数

原题链接解析:所谓质数,是指除了本身不能被其他数字整除的数。如果给出的n的范围小于10^5,可以使用打表的方式进行求解:1、首先判断这个数字是不是素数;2、如果是素数加入数组当中去;给出求100以内质数表相应的代码:const int maxn = 101;bool p[maxn] = {false};bool is_p(int n){ if(n <= 1) return false; int sqr = (int)sqrt(1.0* n); for(int i=2;
分类: 其他 发布时间: 01-29 23:32 阅读次数: 0

11-09字符串中的单词数

原题链接解析:方法一:使用python直接进行分割,之后返回分割后的数量即可,时间16ms:class Solution(object): def countSegments(self, s): """ :type s: str :rtype: int """ return len(s.split())方法二:使用c++的字符串进行操作,判断当前不是空格但下一个位置是空格,时间0ms:class Sol
分类: 其他 发布时间: 01-29 23:31 阅读次数: 0

11-27 接雨水

解析:给出一组数据,数组中的数据代表当前的高度,因此本题可以按照行进行计算,也可以按照列进行计算。从给出的图可知,按列的方式会更加方便,因此想到双指针的思路,比较两端的高度,只要一边比另一边高,那么矮的那一边就是最大能力,此时计算比当前高度还要矮的所有的位置的容量。class Solution {public: int trap(vector<int>& height) { int len = height.size(); int ans .
分类: 其他 发布时间: 01-29 23:31 阅读次数: 0