![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Chen不旧
重要的是第一步,还有那蜿蜒前行的每一步。
展开
-
数组中第 k 个最大的元素
public class Solution { public int findKthLargest(int[] nums, int k) { int heapSize = nums.length; buildHeap(nums, heapSize); for (int i = nums.length - 1; i >= nums.length - k + 1; i--) { swap(nums, 0, i);原创 2024-05-27 16:22:30 · 107 阅读 · 0 评论 -
求所有的公约数(除了1,和本身)
public ArrayList getGcd (int k) { ArrayList list = new ArrayList(); for(int i = 2; i * i <= k; i++) { if(k % i ==0) { if(i!= 1 && i原创 2017-08-15 16:09:17 · 1804 阅读 · 0 评论 -
n皇后,排列树
package com.alo.offer;public class WolfQueen { /** * 一共有多少个皇后(此时设置为8皇后在8X8棋盘,可以修改此值来设置N皇后问题) */ int max = 8; /** * 该数组保存结果,第一个皇后摆在array[0]列,第二个摆在array[1]列 */ int[转载 2017-09-15 14:21:48 · 1446 阅读 · 0 评论 -
着色问题,满m叉树
package com.alo.offer;import java.util.Scanner;/**满m叉树 * 着色问题 * @author Administrator *n个顶点的无向连通图,下标从1开始,数字连续 */public class Color { int sum=0; //方案数 String []colors= {"红","橙","黄"};//,"绿","原创 2017-09-15 15:24:26 · 1330 阅读 · 0 评论 -
有数量不限的硬币,币值为25分、10分、5分和1分,请编写代码计算n分有几种表示法
package com.alo.offer;/** * 时间限制:3秒 空间限制:32768K 热度指数:7180本题知识点: 递归 动态规划 算法知识视频讲解题目描述有数量不限的硬币,币值为25分、10分、5分和1分,请编写代码计算n分有几种表示法。给定一个int n,请返回n分有几种表示法。保证n小于等于100000,为了防止溢出,请将答案Mod 1000000007。测试样例翻译 2017-09-15 17:34:51 · 2192 阅读 · 0 评论 -
java二分查找
package com.alo.offer;/** * 非递归的二分查找 * 适用于已经排序好的数组进行查找 * @author Administrator * */public class BinarySearch{ public int searchNoRecur(int []a,int x) { int low=0,high=a.length-1; while(l原创 2017-09-13 10:50:44 · 167 阅读 · 0 评论 -
Dijkstr单元最短路径
package com.alo.offer;/** * 解决单元最短路径问题 * @author Administrator * */public class Dijkstra { static final int MAX=Integer.MAX_VALUE; public static void main(String[] args) { // TODO A原创 2017-09-12 18:01:17 · 544 阅读 · 0 评论 -
prim最小生成树算法
package com.alo.offer;import java.util.Scanner;/** * prim,最小生成树算法,适用于点少边多的情况 * 最小生成树:能够连通所有点的边权值的最小和 * @author Administrator * *//** * * @author Administrator * */public class Prim {原创 2017-09-12 16:04:28 · 255 阅读 · 0 评论 -
Kruskal最小生成树算法
package com.alo.offer;import java.util.Scanner;public class Kruskal { static final int MAX=Integer.MAX_VALUE;//表示连点之间 不存在连接,连接矩阵中自己到自己的距离为0 public static void main(String[] args) { Scanner sc =原创 2017-09-12 10:52:31 · 209 阅读 · 0 评论 -
大顶堆,n个数中找最小的k个数
package com.alo.offer;import java.util.Scanner;/** * n个数中找到最小的m个数 使用大顶堆 * n个书中找到最大的m个数 使用小顶堆 * @author Administrator * */public class MaxHeap { public static void main(String[] args) { Sc原创 2017-09-11 12:54:21 · 1182 阅读 · 0 评论 -
回溯法解决子集和问题
具体参看:http://blog.csdn.net/foolsong/article/details/16970001package com.alo.offer;import java.util.Scanner;/** * 使用回溯法解决子集和问题 * * @author Administrator * */public class SubSetSum { static转载 2017-09-15 11:32:12 · 1619 阅读 · 0 评论 -
回溯法解决01背包问题
原文参看:http://blog.csdn.net/ljmingcom304/article/details/50314839package com.alo.offer;import java.util.Arrays;import java.util.Collections;public class Recall { private Goods goods[] ; private i转载 2017-09-15 11:05:56 · 2705 阅读 · 0 评论 -
0-1背包问题
package com.alo.offer;/** * 未优化的0-1背包算法 * @author Administrator * */public class Knapsack { public static void main(String[] args) { int []tag=new int[5]; int [] w= {2,2,6,5,4}; int []v=原创 2017-09-13 17:31:56 · 255 阅读 · 0 评论 -
LCS最长公共子序列
package com.alo.offer;/** * 最长公共子序列 * @author Administrator * */public class LongestCommonSubSeq { public static void main(String[] args) { System.out.println(new LongestCommonSubSeq().LCS1("原创 2017-09-13 15:54:20 · 165 阅读 · 0 评论 -
java快速排序
package com.alo.offer;/** * 快排 * @author Administrator * */public class QuickSort { public static void main(String[] args) { int []a ={564,378,954,1255,684,57,15,389,687,687,45,98,15,125,348}原创 2017-09-13 14:15:24 · 206 阅读 · 0 评论 -
java合并排序
package com.alo.offer;/** * 合并排序 * @author Administrator * */public class MergeSort { public static void main(String[] args) { int []a ={564,378,954,1255,684,57,15,389,687,45,98,125,348}; n原创 2017-09-13 13:16:37 · 1545 阅读 · 0 评论