在线编程
文章平均质量分 68
ruixue_i
这个作者很懒,什么都没留下…
展开
-
二维数组中查找数值
一、题目 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路: ① 使用双重循环依次遍历数组,看有没有此数值,能够实现但是效率较低,在线编程题目有运行时间限制,不能通过。 ②因为数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。原创 2017-07-11 09:45:44 · 690 阅读 · 0 评论 -
调整数组中数字顺序
一、题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 注意:使用当前数组实现,不能重新开辟一个同等长度的数组实现。 思路:要想实现相对顺序不变,就需要记录一下,已经排好序的奇数的位置以及又发现的奇数的位置。将已经排好序的奇数与发现的奇数之间的数据向后原创 2017-07-11 15:03:58 · 554 阅读 · 0 评论 -
替换空格
一、题目描述 实现一个函数,将一个字符串中的空格替换成“%20”。 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 二、解题思路 ①首先统计一下空格数量,之后创建一个新数组,新数组长度为原有数组长度加上空格数*2。只有从头到尾遍历或是从尾到头遍历,如果遇到空格就用指定字符替换。原创 2017-07-15 16:30:37 · 192 阅读 · 0 评论 -
链表反转
一、题目要求 题目: 输入一个链表,从尾到头打印链表每个节点的值 二、解题思路 题目要求从尾到头打印链表的节点值,可以联想到栈的特性:后进先出。由此入手解决问题。 三、代码实现 // 输入一个链表,从尾到头打印链表每个节点的值 import java.util.Stack; import java.util.ArrayList; class ListNode{ int val; Li原创 2017-07-16 10:56:42 · 160 阅读 · 0 评论 -
栈的压入、弹出序列(判断弹出序列是否正确)
一、问题描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。 例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 二、解题思路 借用一个辅助的栈,遍历压栈顺序,先原创 2017-07-17 16:37:37 · 280 阅读 · 0 评论 -
用两个栈实现队列
一、题目要求 用两个栈来实现一个队列,完成队列的Push和Pop操作。 二、解题思路: 首先知道栈和队列的性质。栈:先进后出;队列:先进先出。 使用的两个栈。如:第一个栈的入栈顺序是1,2,3,4。将第一个栈中元素出栈后到第二个栈,那么第二个栈的入栈顺序就是4,3,2,1。那么栈2中元素出栈的顺序1,2,3,4就是第一个栈的入栈顺序,即通过两个栈实现的队列的性质:先进原创 2017-07-17 16:48:34 · 192 阅读 · 0 评论