![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java,算法
brianhang
Java
展开
-
牛客网编程题-滑动窗口的最大值(java)
思路:遍历数组,窗口右移,每移一次,替换下最大值,并将最大值添加到结果链表中代码:import java.util.ArrayList;public class Solution { public ArrayList maxInWindows(int [] num, int size) { ArrayList list = new ArrayLis原创 2017-08-02 09:43:36 · 490 阅读 · 0 评论 -
Spring boot + mvn 实现简单web记事本
功能需求:web应用中实现简易记事本,内容保存到本地文件概要设计:1.spring boot实现前后端消息传送2.业务类中实现写入本地文件实现:1.spring boot搭建mvn导入spring boot核心包其中thymeleaf包的作用是查询并匹配项目中的响应路径配置文件为application.propertiesf这里prefix为temp...原创 2018-09-16 11:56:53 · 947 阅读 · 0 评论 -
牛客网-树的子结构(java)
思路:递归法求解根节点是否值一致,不一致则求左右子树是否有子结构。分为两种情况讨论,1:初始根节点与要求节点的根节点一致,比较两棵树的左右子树。这种情况还需分两种情况,(1)即左右子树不一致,该情形下需要将初始根节点的左右子树匹配要求子树,递归初始根节点与要求节点的两种情形;(2)能够匹配到子结构,则输出true。2:初始根节点与要求节点值不一致,则直接递归调用初始根节点的左右子树与要求节点的匹配原创 2017-09-05 22:36:09 · 308 阅读 · 0 评论 -
牛客网编程-合并两个有序链表(java)
思路:线性规划,遍历两个链表,比较表头的值,小的一方剔除出下次遍历代码:/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { pub原创 2017-09-05 20:37:44 · 472 阅读 · 0 评论 -
牛客网编程-不用加减乘除做加法(java)
思路:求2个数的和,不用加减乘除,但是能用++和--,所以可以以0为界,将其中一个数++至0或者--至0,另一个数做相反的操作,就能得到结果代码:public class Solution { public int Add(int num1,int num2) { while(num2 != 0){ if(num2 > 0){原创 2017-08-21 22:57:45 · 232 阅读 · 2 评论 -
牛客网编程-二叉树的深度(java)
思路:求二叉树的深度,想到左右子树递归代码:/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/pub原创 2017-08-05 19:54:26 · 394 阅读 · 0 评论 -
牛客网剑指offer编程题——从上往下打印二叉树(Java)
解题思路:从上往下打印,则是父节点—>左子节点—>右子节点的顺序,总的来说顺序是很明确的,左子节点的子节点也优先于右子节点的子节点,所以只要从左往右依次遍历左右子节点,子节点的子节点也能是顺序排列的,队列可以满足该需求代码如下:import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;原创 2017-07-26 20:43:50 · 463 阅读 · 0 评论 -
牛客编程题-求1+...+n(不能用if,else,while,for,乘除法)(Java)
思路:题目要求1+...+n,不能用循环和乘除法,条件语句,思路是用递归实现,即sum(n) = sum(n-1) + n代码:public class Solution { public int Sum_Solution(int n) { return solution(n); } static int solution(int n){原创 2017-08-03 14:42:41 · 409 阅读 · 0 评论 -
牛客网编程题-包含min函数的栈(java)
思路:题目要求写一个min函数,求栈中的最小值,栈要比较大小,必须pop出来,题目只需要求最小值,所以栈的结构不能变,因此需要额外的辅助栈保存数据,最后导回来代码:import java.util.Stack;public class Solution { Stack stack = new Stack(); public void push(int nod原创 2017-08-03 14:34:54 · 266 阅读 · 0 评论 -
牛客网算法-删除公共字符
问题:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.” import java.util.Scanner;public class Main{ public static void main(String[] args){ Sca...原创 2018-12-10 22:28:01 · 670 阅读 · 0 评论