• 等级
  • 42350 访问
  • 163 原创
  • 21 转发
  • 28323 排名
  • 12 评论
  • 91 获赞

令牌放置

你的初始能量为 P,初始分数为 0,只有一包令牌。令牌的值为 token[i],每个令牌最多只能使用一次,可能的两种使用方法如下:如果你至少有 token[i] 点能量,可以将令牌置为正面朝上,失去 token[i] 点能量,并得到 1 分。 如果我们至少有 1 分,可以将令牌置为反面朝上,获得 token[i] 点能量,并失去 1 分。在使用任意数量的令牌后,返回我们可以得到的最大...

2019-02-17 15:43:55

使括号有效的最少添加

给定一个由 '(' 和 ')' 括号组成的字符串 S,我们需要添加最少的括号( '(' 或是 ')',可以在任何位置),以使得到的括号字符串有效。从形式上讲,只有满足下面几点之一,括号字符串才是有效的:它是一个空字符串,或者 它可以被写成 AB (A 与 B 连接),其中 A 和 B 都是有效字符串,或者 它可以被写作 (A),其中 A 是有效字符串。给定一个括号字符串,返回...

2019-02-17 15:12:47

删列造序

给定由 N 个小写字母字符串组成的数组 A,其中每个字符串长度相等。选取一个删除索引序列,对于 A 中的每个字符串,删除对应每个索引处的字符。所余下的字符串行从上往下读形成列。比如,有 A=["abcdef","uvwxyz"],删除索引序列 {0,2,3},删除后 A 为["bef","vyz"], A 的列分别为["b","v"],["e&q

2019-02-17 13:50:33

最低票价

在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1 到 365 的整数。火车票有三种不同的销售方式:一张为期一天的通行证售价为 costs[0] 美元; 一张为期七天的通行证售价为 costs[1] 美元; 一张为期三十天的通行证售价为 costs[2] 美元。通行证允许数天无限制的旅行...

2019-02-15 20:00:35

分发饼干

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值 gi,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸sj 。如果sj >=gi ,我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。注意:你可以假设胃...

2019-02-15 18:25:24

柠檬水找零

在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。如果你能给每位顾客正确找零,返回 true ,否则返回 false 。pub...

2019-02-15 17:58:20

不含 AAA 或 BBB 的字符串

给定一个整数数组 A,对于每个整数 A[i],我们可以选择 x=-K 或是 x=K,并将 x 加到 A[i] 中。在此过程之后,我们得到一些数组 B。返回 B 的最大值和 B 的最小值之间可能存在的最小差值。示例1:输入:A=[1],K=0输出:0解释:B=[1]思路1:先将字符串全部置为“aaaa...”或"bbbbb..." ,再查找...

2019-02-13 14:56:59

买卖股票的最佳时机 II

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入:[7,1,5,3,6,4]输出:7解释:在第2天(股票价格=1)的时候买入,在第3天(股票价格=5)的时候卖出,这...

2019-02-12 17:08:35

跳跃游戏

给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入:[2,3,1,1,4]输出:true解释:从位置0到1跳1步,然后跳3步到达最后一个位置。 publicbooleancanJump(int[]nums) { //长度为1 if...

2019-02-12 16:14:28

目标和

给定一个非负整数数组,a1,a2,...,an,和一个目标数,S。现在你有两个符号 + 和 -。对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面。返回可以使最终数组和为目标数S的所有添加符号的方法数。1、常规思路 对于数组中的每一个数,它的符号只有两种选择,一种是取正,一种是取负,根据这两种策略,计算结果。 intncount=...

2019-02-12 12:10:56

一和零

 该题我尝试使用暴力方法来求解,始终测试不通过,而后将代码改为自底向上的动态规划算法,才测试通过。1、暴力算法(测试不通过)暴力算法有缺陷 publicintfindMaxForm(String[]strs,intm,intn) { intlen=strs.length; intmaxSum=0;//最大数量 intzero...

2019-02-10 20:25:49

下降路径最小和

给定一个方形整数数组 A,我们想要得到通过 A 的下降路径的最小和。下降路径可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列。 publicintminFallingPathSum(int[][]A) { intm=A.length;//行数 intn=A[0].length;//列数 i...

2019-02-08 23:16:09

程序存储问题

题目描述:设有n个程序{1,2,3,…,n}要存放在长度为L的磁带上。程序i存放在磁带上的长度是li,1≤i≤n。要求确定这n个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序。 intgreedy(int[]files,intlen) { intn=files.length;//文件个数 Arrays.sort(files); for...

2019-02-05 19:34:05

区间覆盖问题

题目描述:设x1,x2,……,xn是实直线上的n个点。用固定长度的闭区间覆盖这n个点,至少需要多少个这样的固定长度闭区间? 对于给定的实直线上的n个点和闭区间的长度k,设计解此问题的有效算法,计算覆盖点集的最少区间数 intsolve(int[]point,intk) { //排序 Arrays.sort(point); intn=p...

2019-02-03 19:45:33

删数问题

题目描述:给定n位正整数a,去掉其中任意k个数字后,剩下的数字按原次序排列成一个新的正整数。 n(1<=n<=200)位的正整数a和k,k小于n。先排序,再把大的数字删除,删掉k个即可。  publicintdeleteNumberAnother(inta,intk) { intaa=a;//预先备份a的值 LinkedList&l...

2019-02-03 18:38:55

多处最优服务次序问题

题目描述:设有N个顾客同时等待一项服务,顾客i需要的服务时间为ti(1<=i<=N)共有S处可以提供此项服务,应如何安排N个顾客需要的服务次序才能使平均等待时间达到最小?平均等待时间等于N个顾客等待服务的总时间除以N。 doublegreedy(int[]serTime,ints) { intn=serTime.length;//顾客数量 ...

2019-02-03 17:48:40

最优服务次序问题

问题描述:设有n个顾客同时等待一项服务。顾客i需要的服务时间为ti,1<=i<=n。应如何安排n个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n个顾客等待服务时间的总和除以n。 doublesmallWaitTime(int[]servTime) { intn=servTime.length; //排序 Arrays.so...

2019-02-01 20:40:37

会议安排问题

题目描述:假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场,设计一个有效的贪心算法进行安排。思路1:对待安排的活动,按照开始时间的先后顺序进行排序, 开始时间早的排在前面。然后,假定以每一个活动作为第一个活动来安排,找出下一个最早结束的活动,直到遍历到最后一个活动为止。取安排的活动的最大值。 intarrange(int[][]schedule) {...

2019-02-01 19:42:43

丑数

编写一个程序,找出第 n 个丑数。丑数就是只包含质因数 2,3,5 的正整数。示例:输入:n=10输出:12解释:1,2,3,4,5,6,8,9,10,12是前10个丑数。说明:  1 是丑数。 n 不超过1690。 publicintnthUglyNumber(intn) { int[]num=...

2019-01-29 19:25:27

最大正方形

在一个由0和1组成的二维矩阵内,找到只包含1的最大正方形,并返回其面积。示例:输入:10100101111111110010输出:41、暴力法计算二维矩阵里,每一个正方形的面积,判断是否只包含1,如果是算出面积,并取面积最大者的值。 publicintsolve(char[][]matrix,i...

2019-01-29 17:58:33

-Billy

关注
  • 中国
奖章
  • 持之以恒