- 博客(35)
- 收藏
- 关注
原创 17. 电话号码的字母组合
输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。digits[i] 是范围 [‘2’, ‘9’] 的一个数字。输入:digits = “23”输出:[“a”,“b”,“c”]输入:digits = “2”输入:digits = “”
2023-03-15 15:28:35
134
原创 131. 分割回文串
给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串。返回 s 所有可能的分割方案。输出:[[“a”,“a”,“b”],[“aa”,“b”]]回文串 是正着读和反着读都一样的字符串。输入:s = “aab”s 仅由小写英文字母组成。输入:s = “a”输出:[[“a”]]
2023-03-15 15:28:08
138
原创 46. 全排列
输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列。你可以 按任意顺序 返回答案。输入:nums = [1,2,3]输出:[[0,1],[1,0]]nums 中的所有整数 互不相同。输入:nums = [0,1]输入:nums = [1]
2023-03-15 15:27:01
120
原创 90. 子集 II
给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]输入:nums = [1,2,2]输入:nums = [0]输出:[[],[0]]
2023-03-15 15:25:43
96
原创 70. 爬楼梯
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?需要 n 阶你才能到达楼顶。解释:有两种方法可以爬到楼顶。解释:有三种方法可以爬到楼顶。
2023-03-15 15:24:46
72
原创 78. 子集
给你一个整数数组 nums ,数组中的元素 互不相同。返回该数组所有可能的子集(幂集)。输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。输入:nums = [1,2,3]nums 中的所有元素 互不相同。输入:nums = [0]输出:[[],[0]]
2023-03-15 15:23:41
62
原创 746. 使用最小花费爬楼梯
给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。输入:cost = [1,100,1,1,1,100,1,1,100,1]你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。输入:cost = [10,15,20]请你计算并返回达到楼梯顶部的最低花费。解释:你将从下标为 1 的台阶开始。解释:你将从下标为 0 的台阶开始。
2023-03-15 15:22:10
64
原创 6. N 字形变换
之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。输入:s = “PAYPALISHIRING”, numRows = 3。输入:s = “PAYPALISHIRING”, numRows = 4。输入:s = “A”, numRows = 1。输出:“PAHNAPLSIIGYIR”输出:“PINALSIGYAHRPI”
2023-03-15 15:21:05
139
原创 494. 目标和
给你一个整数数组nums和一个整数target。向数组中的每个整数前添加'+'或'-',然后串联起所有整数,可以构造一个2'+'1'-'"+2-1"返回可以通过上述方法构造的、运算结果等于target的不同的数目。
2023-03-15 15:20:31
62
原创 C++for循环新用法
3、只读range的元素时,使用for(const auto & x : range).2、修改range的元素时,使用for(auto & x : range).1、拷贝range的元素时,使用for(auto x : range).
2023-03-14 19:42:23
306
原创 尾递归算法
而尾递归则是在每次递归调用时更新当前状态,然后立即返回结果,从而避免了堆栈溢出的问题。这是因为在尾递归中,不需要保留每个递归函数的状态,因此可以在递归调用之前覆盖当前状态。这使得编译器可以使用尾递归优化技术,将尾递归函数转换为循环结构,以便更有效地执行。在传统的递归函数中,每次递归调用都会将当前状态存储在堆栈中,直到递归完成并返回结果后,才会按相反的顺序返回所有结果,这可能会导致堆栈溢出的问题。尾递归是指在递归函数的最后一步操作中,调用自身并返回结果,而不进行任何其他操作的优化技术。
2023-03-14 19:40:50
178
原创 6-3 找密码
6-3 找密码分数10全屏浏览题目切换布局作者王从银单位浙江大学在一个古堡的大门上有5行字符。其中隐藏着打开大门的密码。密码共有4位数字(0到9)。小明发现了一种找密码的方法:最后一行中的字符在第一行字符中出现的总次数是密码的第一个数字,依此类推。输入数据保证每行得到的数字在0到9之间。请编写一个函数 decode帮助小明找出密码。函数接口定义:int decode(char**s); 通过参数s向函数传递5行字符串,函数返回密码值。裁判测试程...
2022-04-30 16:16:11
704
原创 6-4 单链表最大值
6-4 单链表最大值分数20全屏浏览题目切换布局作者李廷元单位中国民用航空飞行学院本题要求求出单链表值最大的结点并返回。要求实现两个函数。函数接口定义:/* 建立单链表并返回单链表的头指针 */ struct Node* buildLinkedList(int* arr, int n); /* 求单链表值最大的结点,返回指向最大值结点的指针。 * 若单链表为空,则返回NULL。 */ struct Node* getMax(struct Node* ...
2022-04-30 16:15:26
1584
原创 配置virtualenv环境
1.安装virtualenv环境使用pip3安装:$ pip3 install virtualenv2. 查看virtualenv版本,确保安装virtualenv成功$ virtualenv --versionnotes: 在shell中输入$ virtualenv 会有更多关于virtualenv的使用命令3. 安装 virtualenvwrappervirtualenvwrapper是virtualenv的扩展包,可以更方便的新增、删除、复制、切换虚拟环境但是,笔者在mac上使用$ p
2022-03-01 22:08:22
1116
原创 Git学习笔记
Git学习笔记新建文件夹mkdir进入文件夹cd显示当前目录pwd修改文件viEsc 退出输入状态shift + ; + q! 不保存文件的写入修改shift + ; + wq!是保存文件的写入修改查看上一次对某一文件的修改git diff命令显示从最近到最远的提交日志git log使用git log–pretty=oneline可以更加清晰得看出每次的commit(快照),一大串类似1094adb…的是commit id(版本号)查看文件cat命令git checkou
2022-03-01 22:07:52
52
原创 7-15 数组-矩阵乘法II (100 分)
输入两个矩阵,输出它们相乘的结果。输入格式: 第一行输入两个整数n,m(1<=n,m<=100),表示第一个矩阵的行和列; 接下来n行,每行m个整数,即第一个矩阵; 第n+1行输入两个整数p,q(1<=q,p<=100),表示第二个矩阵的行和列; 接下来p行,每行q个整数,即第二个矩阵。同一行的多个整数之间以空格作为分隔符。输出格式: 输出相乘结果,当两个矩阵不能相乘时,输出“sad”(不包括引号)。 注:计算结果有可能超过int范围。
2021-11-19 09:38:09
577
原创 7-14 数组-吹泡泡 (100 分)
Shc特别喜欢吹泡泡,他现在已经吹出了N个泡泡,根据他多年吹泡泡的经验,他很快就目测出了每个泡泡的半径(能精确到小数点后一位)。但是他的数学特别的差。 现在他想知道每个泡泡的体积大小。因为shc吹泡泡的技术高超,所以每个泡泡都是绝对的球体。你能帮助他求出每个泡泡的体积大小,并且从大到小输出吗?并且在输出体积的同时也请输出这个泡泡是shc吹的第几个泡泡。输入格式: 第一行为一个正整数N(0 < N <= 1000),表示有N个泡泡。 接下来N行按吹泡泡的顺序每行输入一个半径r (r
2021-11-13 14:58:23
968
原创 7-14 个位数 (50 分)
最近zyz大佬喜欢上了个位数,所以他讨厌除了个位数之外的所有数,于是他看到一个大于9的数,便用其数位之和去代替这个数,如果位数仍然大于9,则继续重复上述步骤,直到其小于10为止。例如:13421 -> 1+3+4+2+1 = 11 -> 1+1 = 2输入格式:一个非负整数(int范围内)。输出格式:经过变换后的答案。输入样例:在这里给出一组输入。例如:19260817输出样例:在这里给出相应的输出。例如:7结尾无空行法一,不知道为什么有
2021-11-12 15:25:46
708
原创 7-35 选择-两圆的位置 (100 分)
给出两个圆的坐标和半径,请你判断两圆的位置关系输入格式:输入含两行,每行3个整数,第一行为圆1坐标x1,y1,半径r1,第二行为圆2坐标 x2,y2,半径r2,输入两个圆的信息保证合法。输出格式:若两圆相交输出1;相离输出2,包含输出3,相切(包括内切和外切,两圆重合也当做相切处理) 输出 4。输入样例1:0 0 11 0 1结尾无空行输出样例1:1结尾无空行输入样例2:0 0 12 3 1结尾无空行输出样例2:2结
2021-11-12 12:53:37
295
原创 7-29 循环-斐波那契数列 (50 分)
注意后面大数取模,当大于1000007时就可以将其取一次模,然后继续循环运算比萨的列奥纳多,又称斐波那契,意大利数学家,西方第一个研究斐波那契数,并将现代书写数和乘数的位值表示法系统引入欧洲。 斐波那契在《算盘书》中提出了一个有趣的兔子问题: 一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔都不死,那么一年以后可以繁殖多少对兔子? 那么,第一个月,我们有1对兔子。第二个月,就有了2对兔子。依次类推,用F[i]来表示第i个月能繁殖多少兔子。于是: F[0]=1,
2021-11-11 20:02:36
554
3
原创 7-7 顺序 - wifi密码 (100 分)
火星哥到学校的第一件事就是连上学校的WiFi,已知初始密码是学号的后六位。输入格式:输入长度为长度为8的学号(10000000~99999999)输出格式:输出对应的密码(注意前导0)输入样例:31702101结尾无空行输出样例:在这里给出相应的输出。例如:702101结尾无空行#include <stdio.h>int main(){ char digit[8]; int i = 0; for(i = 0;i &l...
2021-10-31 17:03:24
827
原创 7-13 顺序 - 剪绳子 (100 分)
在挑选完花后,高斯需要礼品绳将花朵绑起来,老板有一条长L米的礼品绳,需要将礼品绳截成长为x米的小段,请问老板能截成几小段呢,如果截完后礼品绳有剩,剩了多少米呢?(结果保留一位小数)输入格式:输入只有一行两个数: L x ( 0<=L<=x<=1000)输出格式:输出能截的段数和剩余的长度(中间用空格隔开,行末换行):输入样例:在这里给出一组输入。例如:15.0 5.0结尾无空行输出样例:在这里给出相应的输出。例如:3 0.0结尾无空行
2021-10-31 16:33:12
178
原创 7-14 顺序 - 方和圆 (100 分)
已知一个圆的半径r,请问你能求出它的外接正方形和内接正方形的面积,和正方形内接时占圆的百分比,正方形外接时,圆占其的百分比嘛?(π取3.14 ,结果保留2位小数)输入格式:输入只有一行一个整数: r ( 0<=r<=100)输出格式:第一行输出内接正方形的面积和正方形内接时的占比中间用一个空格隔开。 第二行输出外接正方形的面积和外接时的占比同样用空格隔开。输入样例:3结尾无空行输出样例:18 63.69%36 78.50%结尾无空行#includ
2021-10-31 16:13:57
155
1
原创 7-25 顺序 - 距离 (100 分)
输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。HINT:需要用到<math.h>中的sqrt函数。输入格式:输入数据由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。输出格式:输出一行,表示两点间距离,结果保留两位小数。输入样例:1 1 0 0结尾无空行输出样例:1.41结尾无空行#include <stdio.h>#include <math.h>int main(){.
2021-10-31 15:47:44
74
原创 7-1 循环-Fibonacci数列的运算 (50 分)
小白龙最近学习了Fibonacci数列。它是这样定义的,F(1)=1; F(2)=1; F(n)=F(n-1)+F(n-2) (n>=3); 小白龙想改变一下,他把Fibonacci数列改为:2/1, 3/2, 5/3.....,F(n+2)/F(n+1)这种数列,现在给你一个数字n(2<n<=50),请你求出他前n项之和。输入格式:输入仅一个正整数n(2<=n<=50)。输出格式:输出为一个实数,保留小数点后六位,表示序列 2/1, 3/2, 5/3...
2021-10-31 14:54:31
833
原创 7-40 选择-足球赛 (100 分)
7-40 选择-足球赛 (100 分)球队A 和球队 B共进行了 n 场比赛,其中 球队A共踢进了x 个球,球队B 共踢进了 y 球。如果一场比赛胜了得3分,平局得 1 分,输了 得 0分。 球队A最多能得几分?输入格式:输入3个整数 n,x,y。输出格式:球队A 的最大得分。#include <stdio.h>int main(){ int n,x,y; int score = 0; scanf("%d %d %d",&n,&x...
2021-10-30 23:06:33
282
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人