随笔分类 -  Java

摘要:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V 阅读全文
posted @ 2019-03-18 23:14 Assange 阅读(179) 评论(0) 推荐(0)
摘要:给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 阅读全文
posted @ 2019-03-17 10:11 Assange 阅读(209) 评论(0) 推荐(0)
摘要:请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的 阅读全文
posted @ 2019-03-15 16:43 Assange 阅读(267) 评论(0) 推荐(0)
摘要:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 示例 2: 示例 3: 解法烂的一批,直接看第二个吧 方法2: int from -2147483648 to 2147483647 为了避免反转越界,指定res为long类型。 阅读全文
posted @ 2019-03-14 14:02 Assange 阅读(145) 评论(0) 推荐(0)
摘要:将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。 请你实现这个将字符串进行指定行数变换的 阅读全文
posted @ 2019-03-13 22:52 Assange 阅读(321) 评论(0) 推荐(0)
摘要:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 示例 2: 2019-03-12 23:11:25 阅读全文
posted @ 2019-03-12 23:11 Assange 阅读(184) 评论(0) 推荐(0)
摘要:其中,N1=4,N2=6,size=4+6=10. 1,现在有的是两个已经排好序的数组,结果是要找出这两个数组中间的数值,如果两个数组的元素个数为偶数,则输出的是中间两个元素的平均值。 2,可以想象,如果将数组1随便切一刀(如在3和5之间切一刀),数组1将分成两份,数组1左别的元素的个数为1,右边的 阅读全文
posted @ 2019-03-11 23:06 Assange 阅读(1280) 评论(0) 推荐(0)
摘要:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。 示例: 每次只比较两端的高 阅读全文
posted @ 2019-03-10 19:21 Assange 阅读(401) 评论(0) 推荐(0)
摘要:给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。 示例 1: 示例 2: 示例 3: 示例 4: 提示: 官方大佬: 2019-03-08 11:10:32 阅读全文
posted @ 2019-03-08 11:10 Assange 阅读(256) 评论(0) 推荐(0)
摘要:你现在是棒球比赛记录员。 给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数。2. "+"(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。3. "D"(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。4. "C" 阅读全文
posted @ 2019-03-07 23:21 Assange 阅读(330) 评论(0) 推荐(0)
摘要:给定两个没有重复元素的数组 nums1和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。 nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出-1 阅读全文
posted @ 2019-03-05 23:59 Assange 阅读(292) 评论(0) 推荐(0)
摘要:使用队列实现栈的下列操作: push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空 注意: 你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和  阅读全文
posted @ 2019-03-04 23:02 Assange 阅读(435) 评论(0) 推荐(0)
摘要:设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) -- 将元素 x 推入栈中。 pop() -- 删除栈顶的元素。 top() -- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。 示例: 2019-03-03 16:21:27 阅读全文
posted @ 2019-03-03 16:21 Assange 阅读(874) 评论(0) 推荐(0)
摘要:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 注意空字符串可被认为是有效字符串。 示例 1: 示例 2: 示例 3: 示例 4: 示例 5: low low的传统解法。。。 sth update 2019-03-03 11:14: 阅读全文
posted @ 2019-03-03 11:14 Assange 阅读(500) 评论(0) 推荐(0)
摘要:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 示例 2: 示例 3: 2019-03-02 23:13:35 阅读全文
posted @ 2019-03-02 23:13 Assange 阅读(367) 评论(0) 推荐(0)
摘要:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 诶,7个月没动过了。。。。 阅读全文
posted @ 2019-03-01 22:29 Assange 阅读(168) 评论(0) 推荐(0)
摘要:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 1.惨不忍睹的双层for循环 2.map 把数当作key,index当作value,每 阅读全文
posted @ 2019-03-01 21:05 Assange 阅读(114) 评论(0) 推荐(0)
摘要:问题描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 n 阅读全文
posted @ 2018-07-23 17:15 Assange 阅读(187) 评论(0) 推荐(0)