![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
抹茶饼
这个作者很懒,什么都没留下…
展开
-
输出斐波那契数列的第n项(从0开始,第0项为0)
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39,,1、1、2、3、5、8、13、21、34 …- 数组循环运行时间:17ms 占用内存:8952kpublic class Solution { public int Fibonacci(int n) { int[] ar...原创 2019-07-07 21:26:57 · 2158 阅读 · 0 评论 -
输入一个链表,输出该链表中倒数第k个结点。
两个指针,一前一后前面的比后面的先走k步,然后一起向后走运行时间:22ms占用内存:9660k/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution {...原创 2019-07-27 00:36:59 · 78 阅读 · 0 评论 -
操作给定的二叉树,将其变换为源二叉树的镜像
操作给定的二叉树,将其变换为源二叉树的镜像二叉树的镜像定义:源二叉树8/ 6 10/ \ / 5 7 9 11镜像二叉树8/ 10 6/ \ / 11 9 7 5public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null;...原创 2019-08-23 23:17:55 · 348 阅读 · 0 评论 -
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。首先看十进制是如何做的: 5+7=12,三步走第一步:相加各位的值,不算进位,得到2。第二步:计算进位值,得到10. 如果这一步的进位值为0,那么第一步得到的值就是最终结果。第三步:重复上述两步,只是相加的值变成上述两步的得到的结果2和10,得到12。同样我们可以用三步走的方式计算二进制值相加: 5-101...原创 2019-08-24 00:47:57 · 107 阅读 · 0 评论 -
输入一个链表,反转链表后,输出新链表的表头
输入一个链表,反转链表后,输出新链表的表头public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}public class Solution { public ListNode ReverseList...原创 2019-08-23 00:12:43 · 630 阅读 · 0 评论 -
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; ...原创 2019-08-23 00:44:20 · 228 阅读 · 0 评论 -
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.import java.util.ArrayList;public class Solution { public A...原创 2019-08-26 21:59:05 · 402 阅读 · 0 评论 -
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。class Solution { stack<int> s;public: void push(int value) { s.push(value); } void pop() { if(s.empty()) re...原创 2019-08-28 09:11:15 · 218 阅读 · 0 评论 -
统计一个数字在排序数组中出现的次数。
统计一个数字在排序数组中出现的次数。public class Solution { public int GetNumberOfK(int [] array , int k) { int result=0,low=0,high=array.length-1,mid=0; while(low<=high){ mid=(hig...原创 2019-08-29 23:56:39 · 177 阅读 · 0 评论 -
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字运行时间:17ms占用内存:9428k//num1,num2分别为长度为1的数组。传出参数//将num1[0],num2[0]设置为返回结果import java.util.ArrayList;public class Solution { public void FindNumsAp...原创 2019-08-30 00:27:52 · 763 阅读 · 0 评论 -
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
定义新数组,空间换时间运行时间:17ms占用内存:9292kpublic class Solution { public void reOrderArray(int [] array) { if(array.length==0||array==null){ return; } int a[]= new in...原创 2019-07-26 23:18:56 · 263 阅读 · 0 评论 -
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
使用累乘 直接暴力求解 复杂度O(n)运行时间:43ms占用内存:10564kpublic class Solution { public double Power(double base, int exponent) { if(exponent==0) return 1; if(base == 0 && expo...原创 2019-07-26 00:05:31 · 191 阅读 · 0 评论 -
Java在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
public class Solution {public boolean Find(int target, int [][] array) {for(int i=array[0].length-1;i>=0;i–){for(int j=0;j<array.length;j++){if(array[j][i]==target){return true;}if(array[...原创 2019-07-02 15:07:39 · 564 阅读 · 0 评论 -
JAVA请实现一个函数,将一个字符串中的每个空格替换成“百分号20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We百分号20Are百分号20Happy。
public class Solution {public String replaceSpace(StringBuffer str) {return str.toString().replaceAll(" " , “%20”);}}原创 2019-07-02 15:39:37 · 1309 阅读 · 0 评论 -
JAVA输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
**输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。**//递归 方法import java.util.ArrayList;public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<...原创 2019-07-02 15:47:00 · 238 阅读 · 0 评论 -
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路:stack1用来进栈,stack2出栈,这里未考虑stack1满的情况,,,出栈:stack1 ,stack2为空报空栈,栈2为空则stack1出栈给stack2,import java.util.Stack;public class Solution { Stack<Integ...原创 2019-07-15 00:33:29 · 261 阅读 · 0 评论 -
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
**一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。**递归思路 运行时间:14ms 占用内存:9296k因为n级台阶,第一步有n种跳法:跳1级、跳2级、到跳n级跳1级,剩下n-1级,则剩下跳法是f(n-1)跳2级,剩下n-2级,则剩下跳法是f(n-2)所以f(n)=f(n-1)+f(n-2)+…+f(1)因为...原创 2019-07-24 00:26:06 · 2684 阅读 · 0 评论 -
*求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)**
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)Way1 Java 方法考虑使用&& 逻辑与运算运行时间:13ms占用内存:9312kboolean t=(n>0)&&(sum+=Sum_Solution(n-1))>0;//Java 声明boobean数...原创 2019-07-24 22:55:59 · 246 阅读 · 0 评论 -
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?仍然是斐波那契数列21 ------ 1 种22 ------ 2 种23 ------ 3 种24 ------ ||||、----、 --||、|–| 、 ||–运行时间:611ms占用内存...原创 2019-07-24 23:14:57 · 172 阅读 · 0 评论 -
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示考虑与(&)运算 , 每次n和(n-1)与操作 ,就会把对应源原数据n的2进制中的最后一个1变为0运行时间:16ms占用内存:9244kpublic class Solution { public int NumberOf1(int n) { int m=0; while(n!...原创 2019-07-25 00:06:44 · 1467 阅读 · 0 评论 -
二分法查找旋转数组的最小值
旋转数组的最小值原创 2019-07-21 00:18:01 · 647 阅读 · 0 评论 -
把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。1*2,1*3,1*5 min 2 2*2,1*3,1*5 min 3 2*2,2*3,1*5 min 4 2*2,2*3,1*5 min 5...运行时间:18ms占用内存:9532k...原创 2019-08-30 01:10:38 · 1200 阅读 · 0 评论