- 博客(50)
- 收藏
- 关注
原创 0807第305场力扣周赛
0807第305场力扣周赛(C++)AC了两道,第一道5min, 第二道花了15min左右,第四道写完超时,花了很长时间优化,其实优化思路还是挺简单的,一下子没想到,跟笨蛋一样
2022-08-07 13:08:39
450
原创 【华为笔试】安排面试官。m个面试官,n个面试者,语言不同,能否安排好面试(C++)
有M个面试官,每个面试官熟悉的编程语言是一个列表,比如["Java", "C++", "Golang"]表示该面试官熟悉Java、C++和Golang三种语言。有N个面试者,按照面试者的机试选择的语言分配面试官进行面试。现在给定每个面试官最多面试x个人,每个面试者必须被不同的面试官面试2次,请问能否给出一个匹配使得所有的面试者都能被面试到。.........
2022-08-04 22:47:49
951
原创 【C++】C++读取以空格隔开的字符串存入一维数组中,读取m行这样的数据存入二维数组中
读取以空格隔开的字符串并存入数组中读取m行这样的数据并存入数组中
2022-08-03 17:43:39
2108
原创 解决Ubuntu 20.04安装yum报错:E: Unable to locate package yum
解决Ubuntu 20.04安装yum报错:E: Unable to locate package yum
2022-07-15 17:53:00
10977
7
原创 LeetCode 200.岛屿数量
LeetCode 200.岛屿数量给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:grid = [[“1”,“1”,“1”,“1”,“0”],[“1”,“1”,“0”,“1”,“0”],[“1”,“1”,“0”,“0”,“0”],[“0”,“0”,“0”,“0”,“0”]]输出:1示例 2:输入:grid = [
2022-06-30 17:20:33
208
原创 剑指 Offer 26. 树的子结构
输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。例如:示例 1:输入:A = [1,2,3], B = [3,1]输出:false示例 2:输入:A = [3,4,5,1,2], B = [4,1]输出:true需要遍历两次树,先遍历树A,找到与树B根节点值相同的节点;对于上述每个找到的节点,遍历树B,比对该树结构与找到的节点之下结构是否相同遍历树A(识别与树B root值相等的节点):遍历找到点对应子
2022-06-15 10:22:24
97
原创 剑指Offer 14.剪绳子—动态规划、数学推导
给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。示例1输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1示例2输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36从数学上推导,可以得出
2022-06-08 20:10:10
154
原创 LeetCode 712. 两个字符串的最小ASCII删除和
文章目录问题思路代码实现(C++)问题LeetCode 712.两个字符串的最小ASCII删除和给定两个字符串s1 和 s2,返回 使两个字符串相等所需删除字符的 ASCII 值的最小和 。示例 1:输入: s1 = “sea”, s2 = “eat”输出: 231解释: 在 “sea” 中删除 “s” 并将 “s” 的值(115)加入总和。在 “eat” 中删除 “t” 并将 116 加入总和。结束时,两个字符串相等,115 + 116 = 231 就是符合条件的最小和。示例 2:输
2022-05-17 21:37:43
282
原创 LeetCode 72.编辑距离
文章目录题目思路代码实现题目【hard】给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符(0 <= word1.length, word2.length <= 500; word1 和 word2 由小写英文字母组成)示例1:输入:word1 = “horse”, word2 = “ros”输出:3解释:horse -> rors
2022-05-17 16:15:32
199
原创 二维vector按第一列升序排序,第一列相同第二列降序
文章目录二维vector排序(自定义)实现代码二维vector排序(自定义)实现对二维vector先按第一列升序排列,当第一列相同时,按第二列降序排列实现代码static bool cmp(const<int>& a, const<int>& b) { return a[0] == b[0] ? b[1] < a[1] : a[0] < b[0];}sort(nums.begin(), nums.end(), cmp);...
2022-05-17 10:50:43
715
原创 最长递增子序列问题(Longest Increasing Subsquence, LIS)
文章目录问题思路代码实现(C++)总结问题给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例1输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例2输入:nums = [0,1,0,3,2,3]输出:4示例3输入:num
2022-05-16 22:41:36
293
原创 Docker—Got permission denied while trying to connect to the Docker daemon socket at
文章目录问题解决问题docker 有sudo权限还是出现权限被拒绝:解决执行以下命令就可以了:sudo chmod 666 /var/run/docker.sock
2022-05-13 15:48:43
353
原创 LeetCode 1373.二叉搜索树的最大键值和
文章目录题目思路代码实现(C++)总结题目【Hard】给你一棵以 root 为根的 二叉树 ,请你返回 任意 二叉搜索子树的最大键值和。二叉搜索树的定义如下:任意节点的左子树中的键值都 小于 此节点的键值。任意节点的右子树中的键值都 大于 此节点的键值。任意节点的左子树和右子树都是二叉搜索树。示例1输入:root = [1,4,3,2,4,2,5,null,null,null,null,null,null,4,6]输出:20解释:键值为 3 的子树是和最大的二叉搜索树。示例2输入
2022-05-11 10:44:41
355
原创 详解快速排序
文章目录前言快速排序原理代码实现复杂度分析总结前言快速排序是一种不稳定的、**时间复杂度为O(nlogn)**的排序算法,算是较快的算法。类似于归并排序,主要思想是分治,不同的是快排自顶向下(类似于二叉树的前序遍历),归并排序自底向上(类似于二叉树的后序遍历)。时间复杂度:平均:O(nlogn)O(nlogn)O(nlogn)最坏:O(n2)O(n^2)O(n2)最好:O(nlogn)O(nlogn)O(nlogn)空间复杂度:平均:O(logn)O(logn)O(logn)最坏:O(
2022-05-10 21:48:57
384
原创 LeetCode 98. 验证二叉搜索树
文章目录问题思路代码实现(C++)总结问题给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。有效二叉搜索树定义如下:节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树示例1输入:root = [2,1,3]输出:true示例2输入:root = [5,1,4,null,null,3,6]输出:false解释:根节点的值是 5 ,但是右子节点的值是 4 。思路根据BST定义,每个节点都
2022-05-10 19:46:23
317
原创 详解归并排序
文章目录前言归并排序原理代码实现复杂度分析总结前言归并排序是一种稳定的、时间复杂度为O(nlogn)O(nlogn)O(nlogn)的排序算法,算是较快的算法。与快速排序一样,主要思想是分治,不同的是快排自顶向下(类似于二叉树的前序遍历),归并排序自底向上(类似于二叉树的后序遍历)。平均:O(nlogn)O(nlogn)O(nlogn)最坏:O(nlogn)O(nlogn)O(nlogn)最好:O(nlogn)O(nlogn)O(nlogn)空间:O(n)O(n)O(n)归并排序原理
2022-05-10 15:37:43
715
原创 Git常用命令整理
文章目录Git简介基本概念Git命令Git简介版本控制工具用树的形式管理代码的所有历史版本每次修改生成一个新节点(分支)方便回滚,多人同步合作基本概念工作区:仓库的目录。工作区是独立于各个分支的。暂存区:数据暂时存放的区域,类似于工作区写入版本库前的缓存区。暂存区是独立于各个分支的。版本库:存放所有已经提交到本地仓库的代码版本版本结构:树结构,树中每个节点代表一个代码版本。Git命令1. 全局设置git config --global user.name xxx:设置全局用户
2022-05-10 15:04:02
84
原创 LeetCode 652.寻找重复子树
文章目录题目思路代码(C++)总结题目给定一棵二叉树 root,返回所有重复的子树。对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。如果两棵树具有相同的结构和相同的结点值,则它们是重复的。示例1输入:root = [1,2,3,4,null,2,4,null,null,4]输出:[[2,4],[4]]示例2输入:root = [2,1,1]输出:[[1]]思路题目要求找到所有重复子树,所以需要将一棵树的子树以某种方式表示出来并进行比较,如果有相同的就加入结果集。首
2022-05-10 14:21:17
395
原创 python matpltlib实践——画直方图、折线图
文章目录前言图(一)图(二)图(三)图(四)前言论文实验部分通常需要画各种图,可视化使效果更直观,本文总结和整理几种论文中常见的图的python实现方法。图(一)实现代码import numpy as npimport matplotlib.pyplot as pltnp.random.seed(19680801)n_bins = 10x = np.random.randn(1000, 3)fig, axes = plt.subplots(nrows=2, ncols=2)a
2022-05-09 19:03:38
2525
原创 批量删除txt文件最后一列-python
文章目录问题python解决问题做实验时遇到的一个问题,需要将txt文件中前两列数据取出来作图,但文件中还有其他列,这时需要删除最后一列,一般文件至少1000行,手动删太麻烦,所以用python实现批量删除原始数据如下:想要的效果如下:python解决import numpy as npimport osdef dataprocess(): # read data = [] # res_path = os.path.abspath(os.path.join(os.
2022-05-04 16:25:42
2642
原创 实现Trie树(C++)
文章目录前言一、Trie树原理二、Trie树实现(C++)1.接口2.实现总结前言Trie树,又叫前缀树,字典树,单词查找树,是由二叉树衍生出来的一种树形高级数据结构。经常用于处理字符串前缀相关的操作。本文浅析Trie树原理并给出C++代码实现。一、Trie树原理Trie树本质上就是一棵从二叉树衍生出来的多叉树,字符串共享前缀,相同前缀的字符串集中在Trie中的一个子树上。减少重复存储,使用较少的空间,且能够实现快速查找字符串。Trie树节点:Trie树实例: 白色表示val为空二、T
2022-04-23 16:54:36
1512
原创 常用设计模式C++实现(一)
文章目录前言一、创建型模式1.Factory模式功能图示实现结果2. AbstractFactory模式功能图示实现结果3. Singleton模式功能图示实现结果4. Builder模式功能图示实现结果5.Prototype模式功能图示实现结果tips前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。一、创建型模式1.Factory模式功能定义创建对象的接口,封装了对象的创
2022-03-24 22:25:18
1582
1
原创 【踩坑记录】hexo安装后command not found
问题描述npm安装hexo后报错:hexo command not found解决方案:更改环境变量Path,添加C:\Program Files\nodejs\node_cache\node_modules\hexo-cli\bin(换成自己的路径)
2022-03-21 19:41:01
532
原创 字节抖音客户端开发实习面经
前言字节抖音客户端开发实习岗 面试经验一面(12.28 45min)首先面试官非常之nice,很有亲和力,问的都是必会的,回答完会给反馈 1. 自我介绍 2. 能实习多久,一周几天,为什么想来这个岗位3. 项目相关 介绍项目、项目难点,就项目延伸着提问了很多 4. Android相关 四大组件 Activity生命周期 两个Activity的次序关系......(记不太清) 5. java相关
2022-03-07 15:31:26
2622
原创 Linux基础-实验楼
Linux简单使用快捷键Tab:补全命令、目录、命令参数Ctrl + c:强行终止当前程序Ctrl+d:键盘输入结束或退出终端Ctrl+s:暂停当前程序,暂停后按下任意键恢复运行Ctrl+z:将当前程序放到后台运行,恢复到前台为命令fgCtrl+a:将光标移至输入行头,相当于Home键Ctrl+e:将光标移至输入行末,相当于End键Ctrl+k:删除从光标所在位置到行末Alt+Backspace:向前删除一个单词Shift+PgUp:将终端显示向上滚动Shift+PgDn:将终端显示
2022-02-27 21:59:24
518
转载 由数据范围推算法复杂度
由数据范围推算法复杂度原文链接ACM或笔试题的时间限制为1s或2s,C++代码的操作次数应该控制在10710^7107—10810^8108最佳.针对给出的数据范围,反推时间复杂度以及选择算法:数据范围时间复杂度算法n≤30n≤30n≤30指数级别状态压缩dpn≤100n≤100n≤100O(n3)O(n^3)O(n3)floyd,dp,高斯消元n≤103n≤10^3n≤103O(n2),O(n2logn)O(n^2), O(n^2logn)O(n2),O(
2022-01-21 14:42:35
163
原创 剑指 Offer 07. 重建二叉树
题目输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。示例 1:Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Output: [3,9,20,null,null,15,7]示例 2:Input: preorder = [-1], inorder = [-1]Output: [-1]分析主要利用二叉树前序,中序遍历的性质 | 递归前序数组的首元素是
2022-01-12 17:44:19
285
原创 剑指 Offer 03. 数组中重复的数字
题目找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3分析1.暴力O(n^2)直接两层循环,判断相等时返回并结束,但会超时。2.交换O(n)利用题目中信息,数组中的数字范围在[0, n-1],一步步把元素k放置到下标k处,如果一个位置处有了多余一个数字,则已
2022-01-12 13:16:07
71
原创 Leetode 2.两数相加
题目给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.分析双指针 | 模拟数学加法两个链表遍历一遍,每次对两个节点求和,设变量cnt记录是否进位代码class Solution {pub
2022-01-10 20:12:35
435
原创 C++ Primer学习—2.1基本内置类型
文章目录内容摘要2.1、基本内置类型算术类型类型转换字面值常量二、使用步骤1.引入库2.读入数据总结内容摘要C++基础——变量和基本数据类型2.1、基本内置类型C++定义了数据基本内置类型:整型、字符型、浮点型等,同时提供了自定义数据类型的机制。算术类型算术类型分两类:整型(字符、布尔型)、浮点型。布尔类型:bool(true or false)字符类型:char、wchar_t、char16_t、char32_t整型:short、int、long、long long(C++ 11
2021-12-19 14:38:36
673
原创 C++动态内存与智能指针
1.为什么需要智能指针,什么是智能指针(1) C++中所使用的对象有严格定义的生存期,如对象类型生存期全局对象程序启动时分配,程序结束时销毁局部自动对象进入其所在程序块是被创建,离开块时销毁局部static对象第一次使用前分配,程序结束时销毁除此之外,C++支持动态分配对象,动态对象的生存期由程序来控制,必须显式地释放,才会被销毁,而为了更安全地使用动态对象,避免程序员申请的空间忘记释放,造成内存泄漏,就需要智能指针。(2) 智能指针是指向动态对象的指针,当
2021-12-16 21:24:33
1185
原创 随机数写入文件;从文件读取数据,并按照升序顺序排列后输出到文件
产生随机数写入文件;编写程序,从附件的文件test.txt中读取数据,按照从小到大排序后输出到文件SortedNumber.txt。
2021-12-14 16:30:25
1654
原创 编写函数,功能是取出一串数字中的奇数
题目编写函数,功能是取出一串数字中的奇数。代码vector<int> getOdd(vector<int>&a, int length) { vector<int> b; for (int i = 0; i < length; i++) { if (a[i] % 2 == 1) { b.push_back(a[i]); } } return b;}int ma
2021-12-14 15:59:31
662
原创 商店销售某一商品,每天公布统一的折扣discount,同时允许销售人员在销售时灵活掌握售价price,在此基础上,一次购入10件以上这,还可享受9.8折优惠。
题目商店销售某一商品,每天公布统一的折扣discount,同时允许销售人员在销售时灵活掌握售价price,在此基础上,一次购入10件以上这,还可享受9.8折优惠。现已知当天3个销货员销售情况为:请编写程序,计算出当日此商品的总销售款sum以及每件商品的平均售价。要求使用讲太数据成员和静态成员函数。提示:将折扣discount,总销售款sum和商品销售总件数n声明为静态数据成员,再定义静态成员函数average求平均售价和display输出结果。代码#include<iostream>
2021-12-14 13:39:42
4378
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人