
算法
菜鸟技术栈
这个作者很懒,什么都没留下…
展开
-
算法:JAVA实现归并排序
1、核心思想归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。 若将两个有序表合并成一个有序表,称为 2-路归并,与之对应的还有多路归并。对于给定的一组数据,利用递归与分治技术将数据序列划分成为越来越小的半子表,在对半子表排序后,再用递归方法将排好序的半子表合并成为越来越大的有序序列。 为了提升性能,有时我们在半子表的个数小于某个数(比如 15)的情况下,对半子表的排序采用其原创 2020-05-12 23:11:52 · 367 阅读 · 0 评论 -
算法:JAVA实现插入排序
1、核心思想插入排序是指在待排序的元素中,假设前面n-1(其中n>=2)个数已经是排好顺序的,现将第n个数插到前面已经排好的序列中,然后找到合适自己的位置,使得插入第n个数的这个序列也是排好顺序的。按照此法对所有元素进行插入,直到整个序列排为有序的过程,称为插入排序。简单来说就是将一个记录插入到已排好序的序列中,从而得到一个新的有序序列(将序列的第一个数据看成是一个有序的子序列,然后从第二个记录逐个向该有序的子序列进行有序的插入,直至整个序列有序)。2、代码示例输入:int[] array原创 2020-05-11 18:45:11 · 248 阅读 · 0 评论 -
给定排序数组和目标值,如果找到目标,则返回索引。 如果没有,请返回索引按顺序插入的索引。
给定排序数组和目标值,如果找到目标,则返回索引。 如果没有,请返回索引按顺序插入的索引。您可以假设数组中没有重复项。Example 1:Input: [1,3,5,6], 5Output: 2Example 2:Input: [1,3,5,6], 2Output: 1Example 3:Input: [1,3,5,6], 7Output: 4Example 4:Input: [1,3,5,6...原创 2018-08-04 10:23:47 · 1074 阅读 · 0 评论 -
给定一个整数数组,返回两个数字的索引,使它们相加到特定目标。
给定一个整数数组,返回两个数字的索引,使它们相加到特定目标。 您可以假设每个输入只有一个解决方案,并且您可能不会两次使用相同的元素。Example: Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].Java代码如下:package le...原创 2018-08-04 10:34:55 · 2719 阅读 · 2 评论 -
给定字符串J中的字母保证不同,J和S中的所有字符都是字母。字母是区分大小写的,所以“a”被认为是“A”的不同类型的字符。计算J中的字符在S中出现的次数。
You’re given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. You want to know how many of the sto...原创 2018-08-09 09:26:02 · 340 阅读 · 0 评论 -
给定两棵二叉树,写一个函数来检查它们是否相同。
给定两棵二叉树,写一个函数来检查它们是否相同。 如果两个二叉树在结构上相同且节点具有相同的值,则它们被认为是相同的。 Java代码如下: * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right...原创 2018-08-18 15:52:21 · 1402 阅读 · 2 评论 -
给定一棵二叉树,找出它的最大深度
给定一棵二叉树,找出它的最大深度。 最大深度是从根节点到最远叶节点的最长路径上的节点数。 Example: 二叉树: [3,9,20,null,null,15,7], return its depth = 3.Java代码实现如下:package leetcode;/** * 计算二叉树的最大深度 */public class MaximumDepthBinaryTr...原创 2018-08-25 22:23:17 · 4488 阅读 · 1 评论 -
给定一个二叉树,检查它是否是自身的镜像(即,围绕其中心对称)
给定一个二叉树,检查它是否是自身的镜像(即,围绕其中心对称)。例如,这个二叉树[1,2,2,3,4,3,3]是对称的:但是以下[ 1,2,2,null,3,null,3]不是:package com.example.tree;public class TreeNode { int val; TreeNode left; TreeNode right; Tree...原创 2019-01-31 14:57:13 · 678 阅读 · 0 评论 -
给定二叉树,找到它的最小深度。
给定二叉树,找到它的最小深度。最小深度是沿从根节点到最近的叶节点的最短路径上的节点数。注意:叶子是没有子节点的节点。package com.example.tree;/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * ...原创 2019-01-31 15:10:26 · 682 阅读 · 0 评论