
算法题
ECOSYSTeM2
这个作者很懒,什么都没留下…
展开
-
二叉树的镜像
链接:二叉树的镜像__牛客网来源:牛客网[编程题]二叉树的镜像热度指数:61352 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M 算法知识视频讲解 操作给定的二叉树,将其变换为源二叉树的镜像。数据范围:二叉树的节点数 0≤n≤10000 \le n \le 10000≤n≤1000 , 二叉树每个节点的值 0≤val≤10000\le val \le 1000 0≤val≤1000要求:空间复杂度 O(n)O(n)O(n) 。本题也有..原创 2022-01-07 14:04:09 · 856 阅读 · 1 评论 -
杨辉三角的变形
链接:杨辉三角的变形__牛客网来源:牛客网[编程题]杨辉三角的变形热度指数:63611 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 算法知识视频讲解 以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3。数据范围:1-10^9本题有多组输入数据.原创 2022-01-07 14:02:35 · 85 阅读 · 0 评论 -
参数解析
链接:参数解析__牛客网来源:牛客网在命令行输入如下命令:xcopy/sc:\\ d:\\e,各个参数如下:参数1:命令字xcopy参数2:字符串/s参数3:字符串c:\\参数4:字符串d:\\e请编写一个参数解析程序,实现将命令行各个参数解析出来。解析规则:1.参数分隔符为空格2.对于用""包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy/s "C:\\programfiles" "d:\"时,参数仍然是4个,第3...原创 2022-01-03 10:26:07 · 95 阅读 · 0 评论 -
查找组成一个偶数最接近的两个素数
链接:查找组成一个偶数最接近的两个素数__牛客网来源:牛客网任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。本题含有多组样例输入。数据范围:输入的数据满足4<=N<=1000输入描述:输入一个大于2的偶数输出描述:输出两个素数示例1输入20输出713示例2输入4输出22最近两个素数一定是最..原创 2021-12-11 11:15:27 · 227 阅读 · 0 评论 -
二进制插入
链接:二进制插入__牛客网来源:牛客网给定两个32位整数n和m,同时给定i和j,将m的二进制数位插入到n的二进制的第j到第i位,保证n的第j到第i位均为零,且m的二进制位数小于等于i-j+1,其中二进制的位数从0开始由低到高。测试样例:1024,19,2,6返回:1100import java.util.*;public class BinInsert { public int binInsert(int n, int m, int j, int i) {原创 2021-12-11 11:04:39 · 314 阅读 · 0 评论 -
求最大连续bit数
链接:求最大连续bit数__牛客网来源:牛客网求一个int类型数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1本题含有多组样例输入。数据范围:数据组数:,进阶:时间复杂度:,空间复杂度:输入描述:输入一个int类型数字输出描述:输出转成二进制之后连续1的个数示例1输入35200输出212说明3的二进制表示是11,最多有2个连续的1。5的二进制表示是101,最多只有1个连续的1。 I原创 2021-12-09 19:22:36 · 124 阅读 · 0 评论 -
密码强度等级
链接:密码强度等级__牛客网来源:牛客网密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。一、密码长度:5分:小于等于4个字符10分:5到7字符25分:大于等于8个字符二、字母:0分:没有字母10分:全都是小(大)写字母20分:大小写混合字母三、数字:0分:没有数字10分:1个数字20分:大于1个数字四、符号:0分:没有符号10分:1个符号25分:大于1个符号...原创 2021-12-09 15:45:17 · 1676 阅读 · 0 评论 -
走方格的方案数
链接:走方格的方案数__牛客网来源:牛客网请计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)从棋盘左上角出发沿着边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。注:沿棋盘格之间的边缘线行走本题含有多组样例输入。数据范围: 1<=n,m<=8;输入描述:每组样例输入两个正整数n和m,用空格隔开。(1≤n,m≤8)输出描述:每组样例输出一行结果示例1输入..原创 2021-12-07 19:36:52 · 153 阅读 · 0 评论 -
另类加法
链接:另类加法__牛客网来源:牛客网[编程题]另类加法给定两个int A和B。编写一个函数返回A+B的值,但不得使用+或其他算数运算符。测试样例:1,2返回:3二进制加法位的异或运算跟求'和'的结果一致:异或 1^1=0 1^0=1 0^0=0 求和 1+1=0 1+0=1 0+0=0位的与运算跟求'进位‘的结果一致:位与 1&1=1 1&0=0 0&0=0进位 1+1=1 1+0=0 0+0=0于是可以用异或运...原创 2021-12-07 19:28:26 · 103 阅读 · 0 评论 -
求最小公倍数
链接:求最小公倍数__牛客网来源:牛客网正整数A和正整数B的最小公倍数是指能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。输入描述:输入两个正整数A和B。输出描述:输出A和B的最小公倍数。示例1输入5 7输出35最小公倍数等于A*B/(AB的最大公约数)import java.util.*;public class Main{ public static int fuc(int a...原创 2021-12-06 19:18:51 · 74 阅读 · 0 评论 -
20.有效括号
给定一个只包括 '(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例2:输入:s = "()[]{}"输出:true示例3:输入:s = "(]"输出:false示例4:输入:s = "([)]"输出:false示例5:输入:s = "{[]}"输出:true提示:1 &l...原创 2021-12-06 16:35:17 · 84 阅读 · 0 评论 -
合法括号序列判断
链接:合法括号序列判断__牛客网来源:牛客网给定一个字符串A和其长度n,请返回一个bool值代表它是否为一个合法的括号串(只能由括号组成)。测试样例:"(()())",6返回:true测试样例:"()a()()",7返回:false测试样例:"()(()()",7返回:false括号匹配直接用栈import java.util.*;public class Parenthesis { public boolean chkParent原创 2021-12-05 20:05:25 · 323 阅读 · 0 评论 -
Fibonacci数列
链接:Fibonacci数列__牛客网来源:牛客网Fibonacci数列是这样定义的:F[0] = 0F[1] = 1for each i ≥ 2: F[i] = F[i-1] + F[i-2]因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, ...,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibon.原创 2021-12-05 19:19:59 · 93 阅读 · 0 评论 -
连续最大和
描述一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3输入描述:输入为两行。 第一行一个整数n(1 <= n <= 100000),表示一共有n个元素 第二行为n个数,即每个元素,每个整数都在32位int范围内。以空格分隔。输出描述:所有连续子数组中和最大的值。示例1输入:3-1 2 1复制输出:3思路:若前面的数组[i-1]的和加上 arr[i] 小于 arr[i] ,将sum原创 2021-12-05 16:09:53 · 62 阅读 · 0 评论 -
统计回文串 JAVA
题目描述“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。例如:A = “aba”,B = “b”。这里有4种把B插入A的办法:* 在A的第一个字母之前: "baba" 不是回文 *.原创 2021-12-03 13:32:15 · 151 阅读 · 0 评论 -
把字符串转化为整数 JAVA
public class Solution { public int StrToInt(String str) { if(str==null||str.length()==0){ return 0; } int sum=0; for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); ...原创 2021-12-04 13:40:04 · 214 阅读 · 0 评论 -
二货小易有一个W*H的网格盒子 JAVA
import java.util.*;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int w = sc.nextInt(); int h = sc.nextInt(); int[][] arr=new int[w][h]; int count=0; ...原创 2021-12-04 13:54:25 · 194 阅读 · 0 评论 -
十进制数M 转换N进制数 JAVA
import java.util.*;public class Main{ public static void main(String[] args){ String str="0123456789ABCDEF"; StringBuilder str1=new StringBuilder(); Scanner sc=new Scanner(System.in); int M=sc.nextInt(); i...原创 2021-12-04 14:36:38 · 567 阅读 · 0 评论