当前位置: 首页 > news >正文

笔试算法总结

文章目录

      • 题目1
      • 题目2
      • 题目3

题目1

在这里插入图片描述

使用 StringBuilder 模拟栈的行为,通过判断相邻2个字符是否相同,如果相同就进行删除

public class Main {public static String fun(String s) {if (s == null || s.length() <= 1) return s;StringBuilder builder = new StringBuilder(); // 使用StringBuilder模拟栈for (char c : s.toCharArray()) {if (builder.length() > 0 && builder.charAt(builder.length() - 1) == c) {builder.deleteCharAt(builder.length() - 1);} else {builder.append(c);}}return builder.toString();}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String s = scanner.nextLine();System.out.println(fun(s));}
}

题目2

在这里插入图片描述

public class Main {public static int climbStairs(int n) {if (n <= 2) {return n;}int[] dp = new int[n + 1]; // 动态规划数组dp[1] = 1;dp[2] = 2;for (int i = 3; i <= n; i++) {dp[i] = dp[i - 1] + dp[i - 2]; // 状态转移方程}return dp[n];}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();System.out.println(climbStairs(n));}
}

题目3

在这里插入图片描述
在这里插入图片描述

 public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int N = scanner.nextInt();int n = N;ArrayList<Integer> list = new ArrayList<>(N);while (n > 0) {list.add(scanner.nextInt());n -= 1;}ArrayList<Integer> list1 = new ArrayList<>(N);for (int i = 0; i < N; i++) {list1.add(0);}int res = 0;// 每次从每个口袋中取列表中最小值个糖果(0不管)while (!list1.equals(list)) {int min = Integer.MAX_VALUE;for (Integer i : list) {if (i == 0) continue;if (i < min) min = i;}for (int i = 0; i < list.size(); i++) {if (list.get(i) == 0) continue;list.set(i, list.get(i) - min);}res+=1;}System.out.println(res);}
}

http://www.mrgr.cn/news/48581.html

相关文章:

  • Allan方差分析是否需要补充确定性误差
  • TikTok流量不好是为什么?是网络没选对吗?
  • 三维扫描3D建模技术的优点有哪些?
  • [刷题][lettcode困难]4.寻找两个正序数组的中位数
  • NLP入门该看什么书?2024必读NLP书籍!《自然语言处理:基于预训练模型的方法》,快来学起来吧!】
  • 问卷调查毕设计算机毕业设计投票系统SpringBootSSM框架
  • idear2024-Springcloud项目一个服务创建多个实例/端口
  • Golang Slice扩容机制及注意事项
  • 3、Docker搭建MQTT及Spring Boot 3.x集成MQTT
  • springboot乐享田园系统
  • Spring Security无脑使用
  • 驱动知识点归纳一
  • 原来触摸屏与三菱PLC之间实现无线以太网通讯竟如此简单!
  • 天塌了!「系分」新教程10月出版?11月软考会用到新内容吗?
  • 动态规划lc
  • 利用FnOS搭建虚拟云桌面,并搭建前端开发环境(一)
  • 多元化外链策略如何最大化SEO效果?
  • SpringBoot框架下购物推荐网站的设计模式与实现
  • 部署私有仓库以及docker web ui应用
  • (JAVA)B树和B+树的实现原理阐述