![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日一题
努力奔跑中的小刘
这个作者很懒,什么都没留下…
展开
-
【回溯、递归】-幸运的袋子
幸运的袋子_牛客题霸_牛客网解题思路:1、将袋子里面球的号码进行排序2、当一个号码和前面的号码无法组成幸运的袋子,那就直接break,因为后面的号码肯定比前面号码数字大或者等于,也无法构成幸运的袋子3、当我们返回上层递归时,需要回溯,继续计算前面的号码和当前位置后面的号码是否可以构成幸运的袋子注:特殊情况 a[i]=1,1和任何数的和都大于它和任何数的积import java.util.*;public class Main{ public static void m原创 2022-02-10 21:21:53 · 471 阅读 · 0 评论 -
【动态规划】跳石板
跳石板_牛客题霸_牛客网import java.util.*;public class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int m = scan.nextInt(); //定义步数,最多能走m+1步 int[] step = n.原创 2022-02-10 16:32:29 · 523 阅读 · 0 评论 -
每日一题-参数解析
参数解析_牛客题霸_牛客网解题思路:首先我们要输出参数个数,由于字符串当中的空格总是比参数个数少1(除双引号当中的空格),因此可以转化为计空格个数,定义count用来计空格数。注意题目中要求双引号中的字符串不考虑空格数,在遇到第一个双引号时,需要一直遍历字符,直到遇到第二个双引号。遍历双引号以外的空格就要count++。然后我们需要输出以空格分隔的各个字符串,这时我们会想如何输出双引号当中的字符串呢?我们可以定义一个状态flag,初始状态为1,当遇到第一个双引号时,flag^1,变为0,在fla原创 2022-02-10 10:18:33 · 248 阅读 · 0 评论 -
每日一题-求最大连续bit数
求最大连续bit数__牛客网考点:位运算解题思路:定义count,将二进制的最后一位与上1,结果为1时,count++,然后将二进制右移一位,再进行上步操作。当结果为0时,将count置为0,但是此时如何保存先前的count值呢?我们可以再定义一个modcount来保存之前记录的count值,再次遇到0时,将此时的count值与modcount值进行比较(这里将用到库函数,Math.max()),保留大的值。import java.util.Scanner;public class Main原创 2021-12-18 09:04:06 · 196 阅读 · 0 评论 -
每日一题-走方格的方案数
走方格的方案数__牛客网结论:n==1&&m>=1时 路径总条数为n+m,m==1&&n>=1时 路径总条数为n+m下面来考虑n>1&&m>1的情况import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner scan = new Scanner(Syste..原创 2021-12-17 16:04:21 · 616 阅读 · 0 评论 -
每日一题-另类加法
另类加法__牛客网考点:位运算首先要熟悉相关位运算&按位与:如果对应位有0,这一位结果就为0 0010&0110=0010|按位或:如果对应位有1就是1,其余都是0^按位异或:一样的位置为0,不一样的位置为1<<左移:0000 1011 << 1(左移1位)= 0001 0110>>右移:0000 1011 >> 1(右移1位)= 0000 0101>>>无符号右移:不管符号位是0还是1,都补0原创 2021-12-14 15:53:50 · 878 阅读 · 0 评论 -
每日一题-找最小公倍数
求最小公倍数__牛客网import java.util.*;public class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int m = scan.nextInt(); int n = scan.nextInt(); int mn = gcd(m,n); Sys..原创 2021-12-09 18:03:13 · 150 阅读 · 0 评论 -
每日一题-合法括号序列判断
合法括号序列判断__牛客网思路:1、如果字符串长度不为偶数,直接返回false2、当长度为偶数时,遍历字符串,当遇到左括号时入栈,如果遇到右括号,看栈顶元素是否为左括号,如果是,左括号出栈,与右括号匹配,继续遍历3、如果遇到一个非括号的字符,直接返回falseimport java.util.*;public class Parenthesis { public boolean chkParenthesis(String A, int n) { i.原创 2021-12-08 18:05:00 · 265 阅读 · 0 评论 -
每日一题-字符串中找出连续最长的数字串
字符串中找出连续最长的数字串_好未来笔试题_牛客网解题思路:要找出最长的数字串,则需要创建两个用来存放数字串的字符串,用于比较长度import java.util.*;public class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); String str = scan.nextLine(); Strin.原创 2021-12-08 08:33:47 · 312 阅读 · 0 评论 -
每日一题-把字符串转换成整数
把字符串转换成整数__牛客网如果字符串存在,则考虑第一个字符为+、第一个字符为-、存在不合法字符三种特殊情况public class Solution { public int StrToInt(String str) { //首先将字符串转为数组 char[] ch = str.toCharArray(); if(ch == null || ch.length ==0) return 0;//判断ch为空和长度为0的情况 .原创 2021-12-07 08:34:16 · 89 阅读 · 0 评论 -
每日一题-连续最大和
连续最大和_滴滴笔试题_牛客网题目描述:一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3解题思路:如果前面的数加起来为负数,再加上自己的会比本身更小,dp[i]就取array[i]import java.util.*;public class Main{ public static int getMax(int a,int b){ return a>b?a:b; } .原创 2021-12-06 21:09:13 · 281 阅读 · 0 评论