算法题练习
Mtreellen
Over the mountains,mountains.
展开
-
[笔试真题]派分糖果
题目描述有N个孩子站成一排,每个孩子有一个分值。给这些孩子派发糖果,需要满足如下需求:1、每个孩子至少分到一个糖果2、分值更高的孩子比他相邻位的孩子获得更多的糖果求至少需要分发多少糖果?输入描述: 0,1,0输出描述:4输入示例: 5,4,1,1输出示例:7思路从左到右遍历,当前孩子的分值如果比其左边孩子的高,当前孩子的糖果数等于其左边孩子的糖果数加 1;从右...原创 2020-01-10 14:54:39 · 3362 阅读 · 0 评论 -
[笔试真题]计算重复字符串长度Java
请从字符串中找出至少重复一次的子串的最大长度 输入描述: 字符串,长度不超过1000 输出描述: 重复子串的长度,不存在输出0 输入示例: ababcdabcefsgg 输出示例: 3 说明: abc为重复的最长子串代码实现import java.util.Scanner;/** * @author elle...原创 2020-01-10 13:58:46 · 537 阅读 · 0 评论 -
[牛客OJ]小易的升级之路Java
题目小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a.在接下来的一段时间内,他将会依次遇见n个怪物,每个怪物的防御力为b1,b2,b3…bn. 如果遇到的怪物防御力bi小于等于小易的当前能力值c,那么他就能轻松打败怪物,并 且使得自己的能力值增加bi;如果bi大于c,那他也能打败怪物,但他的能力值只能增加bi 与c的最大公约数.那么问题来了,在一系列的锻炼后...原创 2020-01-07 21:59:38 · 454 阅读 · 0 评论 -
[牛客OJ]链表分割Java
public class ListSplit { private static ListNode partition(ListNode pHead, int x) { // write code here if(pHead==null){ return null; } //创建x结点作为分割前半部分和...原创 2020-01-02 22:51:19 · 321 阅读 · 0 评论 -
DNA序列
一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例(定义为GC-Ratio)是序列中G和C两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。给定一个很长的DNA序列,以及要求的最小子序列长度,研究人员经常会需要在其中找出GC-Ratio最高的子序列。输入描述:输入一个string型基因...原创 2019-12-30 22:09:25 · 982 阅读 · 0 评论 -
[给定一个排序数组,在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成]
分析图示:/** * 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 * 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 * @author mtreellen * @create 2019-10-16-22:48 */public class RemoveDuplicat...原创 2019-10-16 23:12:17 · 1075 阅读 · 0 评论 -
剑指Offer——二维数组查找指定值
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。分析1、因为这个二维数组的每一行是有序的,每一列也是有序的,可以指定从右上角(或左下角)开始查找:将目标值与右上角的数值比较:(1)情况1:如果目标值大于右上角数值,那么就让这个目标值的行加一,直到到达最后一列;(2)...原创 2019-10-15 20:31:15 · 428 阅读 · 0 评论