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

48Days-Day12 | 添加字符,数组变换,装箱问题

添加字符

添加字符_牛客笔试题_牛客网

算法原理

因为本题数据量都比较小,所以我们可以直接使用暴力解法,枚举B字符串的每一个位置作为与A字符串比较的起点,维护一个最小位数的值

代码

import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);String strA = scan.next(), strB = scan.next();int res = Integer.MAX_VALUE;if (strA == null || strB == null) {System.out.println("0");} else {for(int i = 0; i <= strB.length() - strA.length(); i++) {int count = 0;int index = i;for(int j = 0; j < strA.length(); j++) {if(strA.charAt(j) != strB.charAt(index++)) count++;}res = Math.min(count, res);}System.out.println(res);}}
}

数组变换 

数组变换__牛客网

算法原理

贪心,找到最大的那个数,找到每个数和最大的那个数的商是不是2的倍数,这里我们用到了lowbite的方法移位,如果是就说明可以变到最大的数,不能就不行

代码

import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();int[] nums = new int[n];for(int i = 0; i < n; i++) nums[i] = scan.nextInt();Arrays.sort(nums);int max = nums[n-1];boolean flg = true;for(int i = 0; i < n - 1; i++) {if(max % nums[i] == 0) {int x = max / nums[i];if(x - (x & -x) != 0) {     //lowbite算法flg = false;break;}} else {flg = false;}}if(flg) {System.out.println("YES");} else {System.out.println("NO");}}
}

装箱问题

装箱问题

算法原理

其实就是01背包模板的变形

代码

import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int v = scan.nextInt(), n = scan.nextInt();int[] arr = new int[n+1];for(int i = 1; i <= n; i++) arr[i] = scan.nextInt();int[][] dp = new int[n+1][v+1];for(int i = 1; i <= n; i++)for(int j = 0; j <= v; j++) {dp[i][j] = dp[i-1][j];if(j >= arr[i])dp[i][j] = Math.max(dp[i][j], dp[i-1][j - arr[i]] + arr[i]);}System.out.println(v-dp[n][v]);}
}

http://www.dtcms.com/a/311223.html

相关文章:

  • 2025牛客暑期多校训练营1(G,E,L,K,I)
  • 力扣 hot100 Day63
  • (LeetCode 面试经典 150 题) 138. 随机链表的复制 (哈希表)
  • Jupyter notebook如何显示行号?
  • 邮科工业交换机:互联网世界的“隐形守护者”
  • 【DL学习笔记】计算图与自动求导
  • K8S部署ELK(一):部署Filebeat日志收集器
  • 红黑树(RBTree)
  • Redis面试精讲 Day 7:GEO地理位置应用详解
  • Mysql在页内是怎么查找数据的?
  • 第14届蓝桥杯Python青少组中/高级组选拔赛(STEMA)2022年11月真题
  • web练习
  • 初始C语言---第四讲(数组)
  • Tlias案例-登录 退出 打包部署
  • 【自动化运维神器Ansible】YAML语法详解:Ansible Playbook的基石
  • 【自动化运维神器Ansible】YAML支持的数据类型详解:构建高效Playbook的基石
  • 人工智能与农业:智慧农业的发展与未来
  • 基于Postman进行http的请求和响应
  • 基于SpringBoot+MyBatis+MySQL+VUE实现的在线课程管理系统(附源码+数据库+毕业论文+开题报告+部署教程+配套软件)
  • Ubuntu系统VScode实现opencv(c++)图像放缩与插值
  • 高效轻量的C++ HTTP服务:cpp-httplib使用指南
  • Android 15 限制APK包手动安装但不限制自升级的实现方案
  • 把“多视图融合、深度传感”组合在一起,今天分享3篇3D传感技术干货
  • [硬件电路-120]:模拟电路 - 信号处理电路 - 在信息系统众多不同的场景,“高速”的含义是不尽相同的。
  • Word怎样转换为PDF
  • Qwen3 Embedding:新一代文本表征与排序模型
  • 2411. 按位或最大的最小子数组长度
  • Django开发中医针灸经络图系统实战
  • 【iOS】3GShare仿写
  • 【Linux网络】netstat 的 -anptu 各个参数各自表示什么意思?