牛客
lankerens
日常抄代码并给大佬点赞
展开
-
HJ45 名字的漂亮度 ( 遍历统计 )
给出一个字符串,该字符串仅由小写字母组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个不同字母拥有相同的“漂亮度”。字母忽略大小写。给出多个字符串,计算每个字符串最大可能的“漂亮度”。原创 2023-02-03 18:40:56 · 95 阅读 · 0 评论 -
[编程题]字符串压缩功能 ( 栈 )
利用字符重复出现的次数,实现字符串压缩功能。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)原创 2023-02-03 15:52:01 · 140 阅读 · 0 评论 -
HJ23 删除字符串中出现次数最少的字符 ( 模拟 / 哈希表 )
实现删除字符串中出现次数最少的字符,若出现次数最少的字符有多个,则把出现次数最少的字符都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。原创 2023-02-03 15:25:36 · 167 阅读 · 0 评论 -
WY12 藏宝图 ( 双指针 )
牛牛拿到了一个藏宝图,顺着藏宝图的指示,牛牛发现了一个藏宝盒,藏宝盒上有一个机关,机关每次会显示两个字符串 s 和 t,根据古老的传说,牛牛需要每次都回答 t 是否是 s 的子序列。注意,子序列不要求在原字符串中是连续的,例如串 abc,它的子序列就有 {空串, a, b, c, ab, ac, bc, abc} 8 种。原创 2023-02-03 14:44:43 · 105 阅读 · 0 评论 -
OR59 字符串中找出连续最长的数字串 ( 字符串操作 )
读入一个字符串str,输出字符串str中的连续最长的数字串原创 2023-02-03 14:13:02 · 93 阅读 · 0 评论 -
[编程题]最长公共子串 ( 穷举 )
给定两个字符串str1和str2,输出两个字符串的最长公共子串,如果最长公共子串为空,输出-1。原创 2023-02-03 12:22:33 · 152 阅读 · 0 评论 -
无重复字符的最长子串 (哈希表)
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。原创 2023-02-03 10:35:40 · 62 阅读 · 0 评论 -
NC90 设计getMin功能的栈 ( 栈 + 设计 )
牛客: NC90 设计getMin功能的栈定义两个 stack , sa 栈作为存储数据内容的, sb 栈用来存储实时过程中所存数据的最小值AC Codeimport java.util.*;public class Solution { Stack<Integer> sa = new Stack<>(); Stack<Integer> sb = new Stack<>(); List<Integer>原创 2021-01-28 14:09:17 · 139 阅读 · 0 评论 -
NC112 进制转换 ( 模拟 )
牛客NC112 进制转换注意:char数组存储大于10的进制m 为负数时的处理AC Codeimport java.util.*;public class Solution { /** * 进制转换 * @param M int整型 给定整数 * @param N int整型 转换到的进制 * @return string字符串 */ public String solve (int m, int n) {原创 2021-01-22 08:22:50 · 358 阅读 · 0 评论 -
NC119 最小的K个数 ( 基于快排的选择算法 )
牛客: NC119 最小的K个数题型: 215. 数组中的第K个最大元素 ( 基于快排的选择算法 )topK 问题大顶堆基于快排的选择算法 ( 随机值优化时间复杂度 )AC Code 基于快排的选择算法import java.util.*;public class Solution { // 随机值 Random random = new Random(); public ArrayList<Integer> GetLeastNumb原创 2021-01-22 07:36:31 · 200 阅读 · 1 评论 -
NC19 子数组的最大累加和问题 ( dp )
牛客: NC19 子数组的最大累加和问题简单 dpAC Codeimport java.util.*;public class Solution { /** * max sum of the subarray * @param arr int整型一维数组 the array * @return int整型 */ public int maxsumofSubarray (int[] arr) { // write cod原创 2021-01-20 23:19:24 · 128 阅读 · 0 评论 -
NC148 几步可以从头跳到尾 ( dp / 贪心 )
牛客: NC148 几步可以从头跳到尾思路:dp1.1 dp[i]dp[i]dp[i] 为到大 i 位置时最少的步数。更新最远到达( 有贪心的味道? )AC Code dpimport java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最少需要跳跃几次能跳到末尾 * @param n int整型 数组A的长度原创 2021-01-17 20:27:58 · 418 阅读 · 0 评论 -
NC147 主持人调度 ( 贪心 优先队列 )
牛客:NC147 主持人调度贪心list + 优先队列思路:将活动区间按开始时间从小到大排序, 其次按结束时间从小到大排序然后通过优先队列记录每个活动的结束时间,如果没有出现开始时间大于之前活动的结束时间的, 表示主持人数不够, 直接添加到队列中,否则将之前的活动弹出, 然后将当前活动加入给那位空闲的支持人完成。AC Codeimport java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指原创 2021-01-17 19:41:58 · 1480 阅读 · 0 评论 -
NC153 信封嵌套问题 ( dp 最长上升子序列 变形 )
牛客:NC153 信封嵌套问题 思路:将信封的长度从小到大排序,如果长度相等, 则按照宽度从大到小排序然后长度就可以被忽略,只看宽度数组, 问题就转化为了最长上升子序列.AC Codeimport java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param letters int二维数组 * @retu原创 2021-01-16 18:55:21 · 263 阅读 · 0 评论 -
NC96 判断一个链表是否为回文结构 ( easy 模拟 )
牛客: NC96 判断一个链表是否为回文结构简单双指针AC Codeimport java.util.*;/* * public class ListNode { * int val; * ListNode next = null; * } */public class Solution { /** * * @param head ListNode类 the head * @return bool布尔型 */ p原创 2021-01-16 17:15:09 · 170 阅读 · 0 评论 -
牛客 NC15870 好位置 ( 字符串 )
牛客题库: NC15870 好位置这种题解法感觉都是灵感一显的解法。。看不出啥方法。思维吧AC Codeimport java.util.*;import static java.lang.System.out;public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); String s1 = in.nex原创 2020-12-12 11:37:45 · 186 阅读 · 0 评论 -
牛客 NC13253 子串 ( 字符串 )
牛客题库: NC13253 子串题目大意, 在 2 ~ 16 进制中,有没有使得 1 ~ n 的所有数拼接成的 s, 使得 给定的 t 字符串 是 s 的子串。利用Integer.toString(数,进制);利用 Integer.toString(数,进制);利用Integer.toString(数,进制);AC Codeimport java.util.*;import static java.lang.System.out;public class Main{原创 2020-12-12 11:26:24 · 244 阅读 · 0 评论 -
牛客 NC21653 巨型迷宫 (枚举 + 贪心)
牛客 NC21653 : NC21653 巨型迷宫标签是贪心题, 但是我这个解法并没有多大的体会到贪心的思想。 实际上也就是枚举情况了图片太长, 题目大意:有 n 行。每行的代表的数不相同,同一行的数全部一样(行可理解成无限长)同时给定四个点(sx,sy)(sx, sy)(sx,sy), (ex,ey)(ex, ey)(ex,ey),分别代表 起点和终点。需要算出起点到终点的路径上的数字和最少注意数据范围 >> int 存储 sum 必然是不行的了…但是很奇葩,int原创 2020-11-27 15:32:39 · 355 阅读 · 0 评论 -
牛客 NC21740 移动石头(贪心)
牛客 NC21740: NC21740 移动石头贪心题题目大意:将上面的数组序列变为下面的数组序列,最少需要几步, 每次只能将一块石头移动到相邻的位置。如果不能变成 >> 输出 −1-1−1主要思路:遍历上面整个数组, 直接减去下面的数组石头个数, 将当前剩余或者超支的石头移至下一个相邻的位置, 同时步数 加上这部分剩余或者超支的石头数量。((( 好像有点 动态规划的味道了贪心import static java.lang.System.out;i原创 2020-11-27 15:14:50 · 299 阅读 · 0 评论 -
牛客 NC14291 Cut (easy 排序贪心)
牛客 NC14291 : Cut贪心题, easy 题。排序 + 贪心。从小到大排完序后,每次去掉存活的最小的一个数, 这样获得的结果就是最大的代价贪心import static java.lang.System.out;import static java.lang.Math.*;import java.util.Scanner;import java.util.Arrays;public class Main{ public static void main原创 2020-11-26 21:47:35 · 181 阅读 · 0 评论 -
牛客 NC15911 最小化价格 (贪心 + 优先队列)
牛客 NC15911 : 最小化价格题目大意:贪心题, 每个组的所有同时去一个地点, 每个地点有对应的可容纳人数 以及 所需金额。求出每个组都能去到其中的一个地方,然后消费的金额最少可以为多少。如果不能满足每个组去其中一个地方(各个组的地方不同) >> 那么结果输出 -1思路:先排序 >> 按地点的可容纳人数从大到小进行 placeplaceplace 的排序。然后从大到小遍历每组的人数情况。然后利用 优先队列PriorityQueue优先原创 2020-11-26 21:41:45 · 152 阅读 · 0 评论 -
牛客 NC21222 道路铺设 (模拟 / 贪心)
牛客 NC21222: 道路铺设贪心题,不能排序根据给定的序列,各个数代表每段路的下陷深度,问最少需要多少天可以将所有数变为 0 (下陷路段填充完)思路:使用 cntcntcnt 记录初始数组 0 的个数当 cntcntcnt 记录的 0 个数还没到数组长度时, 说明还需要继续填充。每次将前置 0 跳过从当前位开始, 找到遇到下一个 0 之前的最小值 mnmnmn。之后遍历到下一个 0 之前,之间的路段都减去最小值 mnmnmn, 相应的添加 增加 mnmnmn 天AC原创 2020-11-26 20:35:50 · 259 阅读 · 0 评论 -
牛客练习赛73 遥远的记忆(理解)
import java.util.*;import static java.lang.System.out;public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] c = new int[n]; ..原创 2020-11-25 22:19:21 · 136 阅读 · 0 评论 -
牛客练习赛73 A招生( 注意特判 )
A.招生-牛客网: A招生easy 题这个一开始一直 wrong,我以为是精度问题。【后面发现是这位小 A 同学人家凭借校测分可能直接就能进入前三了,所以高考分可以直接考 0 分】这个情况我没考虑到。所以 ans=(need−ans)/0.85;ans = (need - ans) / 0.85;ans=(need−ans)/0.85; 这里就会算出 ans<0ans < 0ans<0 , 是错误的小贴士: 为了避免精度问题,可以将乘于 0.85 变成 乘于 85原创 2020-11-23 22:40:48 · 123 阅读 · 0 评论 -
牛客编程巅峰赛S2第2场 - 青铜&白银&黄金
题目主页: 牛客编程巅峰赛S2第2场 - 青铜&白银&黄金A 题 热心的牛牛easy 题思路: 首先加上自己共 (n+1)(n + 1)(n+1) 个人, kkk 块糖果,所以答案从 nn=k/(n+1)nn = k / (n + 1)nn=k/(n+1) 开始往前遍历, 然后减去牛牛拿走的 nnnnnn 块,剩下的 k−nnk - nnk−nn 块 除以 k 个人 大于 nn 即可AC Code public long Maximumcandies (long原创 2020-11-20 23:11:17 · 161 阅读 · 0 评论 -
牛客 /acm/problem/13223 竞标赛
牛客NC13223: 竞标赛题目大意为:第一个为小美的参赛积分对数组中 除了第一个位置以外 进行从小到大排序然后我们通过大的与大的比较 >> 淘汰较大的小美一直与 存活的 最小的积分 进行比较 >> 当最小的积分都大于小美时 >> dfs 结束了网上许多题解不是 dfs 解法的 >> 大多好像找规律 >> 数学 log 再除以 xx 就行了.这里的 dfs 主要要关注 每次 小美要找到最小的那个积分原创 2020-11-09 22:56:57 · 217 阅读 · 0 评论 -
牛客/acm/contest/1003/A Sunscreen
牛客网题库: Sunscreen题目大意为有 C 只奶牛, L瓶防晒霜每次奶牛去海滩前都要涂一瓶防晒霜 , 同时每只奶牛有自己的 防晒数值区间如果防晒值过低 >> 会被晒伤如果防晒值过高 >> 根本不会被晒黑每瓶防晒霜拥有对应的防晒值 >> 我们利用现有的防晒霜, 怎么可以使得奶牛群中, 晒黑而不被晒伤的数量最大输入:C 只奶牛, L瓶防晒霜接下来 C 行 >> 晒黑区间接下来 L 行 >> 防晒霜的原创 2020-11-09 20:40:47 · 167 阅读 · 0 评论 -
牛客/acm/problem/14721 装进肚子
牛客网题库: 装进肚子纯贪心题又是类似于 倒水问题 的写法 >> 倒水至相同的温度和我想的贪心写法不太一样贪心代码import java.util.Arrays;import java.util.Scanner;/** * @author lankeren * @ClassName zhuangjinduzi * @Deacription: * @create: 2020-11-05 23:05 */public class Main { pu原创 2020-11-05 23:36:30 · 523 阅读 · 0 评论 -
牛客acm/problem/13228 倒水至温度相同
题目: 牛客:倒水题目大意: 从温度T 体积C的大缸中往n个杯子里加水,能否将这个n个杯子的温度调整到相同注意:一杯温度为t1单位、体积为c1升的水与另一杯温度为t2单位、体积为c2升的水混合后,温度变为(t1c1+t2c2)/(c1+c2),体积变为c1+c2。思路:贪心 >> 将所有的水混合把温度求出 sumt然后遍历 n 杯水,找出最低温度mnt 和 最高温度mxt如果 混合后温度 小于等于 最低温度 >> 则可以将统一到一个原创 2020-10-29 22:57:30 · 472 阅读 · 0 评论 -
牛客/acm/problem/13591/主持人的烦恼
牛客网题库: 主持人的烦恼排序 + 贪心 >> 排完序后直接找相邻两个比较差值就可以了 >> 不用咋考虑踩坑:一开始想的比较复杂 >> 考虑了什么自定义排序 >> 排完序后要不要先找差值最大的两个做一组 >> 其实没必要将 int[] arr = new int[n] 写的是 Integer[] arr = new Integer[n] >> 这样后面不知不觉花费了大量时间进行了类型的拆装箱原创 2020-11-04 23:16:46 · 251 阅读 · 0 评论