自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 【linux】mkdir

Linux中mkdir指令用于创建目录语法为:mkdir [-p] dirName其中 -p 的作用是:若要新建目录的父目录不存在,则新建一个。举例:mkdir parent/child 会在parent目录下新建一个child目录上述方法中,若parent目录不存在,则会报错mkdir -p parent/child 实现相同功能,且若parent目录不存在,则新建一个parent目录并在其中建立child目录。...

2022-01-08 20:04:22 576

原创 【算法】FizzBuzz问题(三目运算符)

题目描述:给定整数 n ,按照如下规则打印从 1 到 n 的每个数:如果这个数被3整除,打印fizz。如果这个数被5整除,打印buzz。如果这个数能同时被3和5整除,打印fizz buzz。如果这个数既不能被 3 整除也不能被 5 整除,打印数字本身。额外要求:不能使用if语句。思路:if-else语句可以用三目运算符?来替代,注意考虑好判断顺序。代码实现:vector<string> fizzBuzz(int n) { vector<string&gt

2022-01-03 15:21:36 669

原创 【算法】寻找数组主元素

问题描述:给定一个整型数组,找出主元素,它在数组中的出现次数大于数组元素个数的二分之一。思路:最简单粗暴的方法是对每一个元素查找出现次数,但这样时间复杂度太高。更好的方法是,从第一个元素nums[0]开始,令变量res=nums[0], 记其出现次数为cnt=1;此后若出现相同元素则cnt+1,否则cnt-1。若查找到第i个元素时cnt<0则令res=nums[i],cnt=1。在查找过程中若cnt>(size/2)则返回res。若数据分布较为均匀,即查找过程中cnt总小于(si

2022-01-03 14:39:56 1097

原创 【算法】数字数组加一

问题描述:给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。该数字按照数位高低进行排列,最高位的数在列表的最前面。样例:输入:[1,2,3]输出:[1,2,4]输入:[9,9,9]输出:[1,0,0,0]思路:重点是最后一位,只有最后一位是9的情况才涉及到进位。如果最后一位不是9,直接把最后一位加一再返回即可;否则从最后一位开始,依次向前考虑进位,直到不进位为止。如果进位,就把当前位置的数置零,前一位加一。如果遇到99,999,9999这样的情况,按照上述算

2022-01-01 17:37:23 181

原创 【算法】旋转数组

题目描述:给定一个数组,将数组向右移动k步,其中k为非负数。样例:输入: [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转1步: [7,1,2,3,4,5,6]向右旋转2步: [6,7,1,2,3,4,5]向右旋转3步: [5,6,7,1,2,3,4]注意,这里k可能超过数组长度,所以要先取余数。我最初的方法:vector<int> rotate(vector<int> &nums, int k) {

2021-12-31 10:38:57 416

原创 【算法】巴什博奕

问题描述:你正在和朋友玩一个游戏:桌子上有一堆石头,每一次你们都会从中拿出1到3个石头。拿走最后一个石头的人赢得游戏。游戏开始时,你是先手。假设两个人都绝对理性,都会做出最优决策。给定石头的数量,判断你是否会赢得比赛。举例:有四个石头,那么你永远不会赢得游戏。不管拿几个,最后一个石头一定会被你的朋友拿走。解题思路:由题意可得,若轮到一方抓的时候只剩下4个石头,则此方必输。所以我方获胜的条件是:让对方拿石头时只剩4个石头。由于我方先手,可以先拿走(n%4)个石头,此后,若对方拿走m个石头,则我方拿

2021-12-30 10:47:17 2187

原创 树的遍历【根据前序和中序遍历的结果确定后序遍历结果】

条件:已知前序遍历结果数组Pre[]和中序遍历结果数组Mid[]。目标:确定后序遍历结果数组Post[]。分析:采用递归的方式实现。从前序遍历数组中可以得到当前处理子树的根节点,从中序遍历数组中可以得到当前处理子树的左、右分支。...

2021-11-20 11:19:07 254

原创 关于C++中的随机数生成器

关于C++中的随机数生成器今天需要生成随机序列来测试代码,记录一下C++中随机数生成器的使用方法。C++中使用random库生成随机数,主要使用两个类:随机数引擎类调用这个类会生成一个调用运算符。该运算符不接受任何参数,并返回一个随机的unsigned整数。常与随机数分布类共同使用,很少单独使用。随机数分布类需要以随机数引擎作为参数(即必须先定义随机数引擎类)。常用方法:uniform_int_distribution :指定范围的随机非负数uniform_real_distribu

2021-11-17 17:14:51 3518

原创 关于C++定义动态数组

楼猪最近在学习C++和算法,在这里记录自己的经验教训吧。1. 问题最近在visual studio中定义数组时出现了这个报错代码片段如下:int main() { int n = 10; int* a = new int[n]; return 0;}研究后发现,C++要求定义数组时必须使用常量作为数组长度,如a=int[10];但是很多情况下数组长度不是预先确定的,所以需要定义动态数组。int main() { int n = 10; int* a = new int[n];

2021-11-16 15:30:23 1210 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除