题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 算法思路 1、定义字符串比较函数…
分类:算法
不撞南墙不回头-深度优先搜索算法
深度优先搜索属于图算法的一种,英文缩写为DFS即Depth First Search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次. 今天介绍算法实现的两种形式,一种是通过数组交换…
埃氏筛法求范围内的质数
一、算法思路 首先构建范围内从 2 开始的自然数,例如 20 以内的指数 取第一个数为第一个质数既 2,然后去除自然数序列中能被2整除的数 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,…
三种交换值的方法
三种交换方法 1、通过中间变量交换 public void swap(int a, int b){ int tmp = a; a = b; b = tmp; } 2、通过加减交换 //该方法两数相加可能会超出int范围而…
最大流问题及Ford-Fulkerson方法
流网络 流网络是一个有向图, G=(V,E) ,图中的每条边有一个非负的容量值 c(u,v)≥0 .如果 (u,v)∉E ,则定义 c(u,v)=0 。且在流网络中含有两个特殊的点:源节点 s 和汇结点 t 。 流网络的…
算法 排序算法之快速排序
package SortArith; /** * 快速排序 * 基本思想: * 通过一趟排序,确定某一关键字最终的位置,以此将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分的 * 关键字小,则可分别对这两…
LintCode 刷题Solution 3. 统计数字
计算数字k在0到n中的出现的次数,k可能是0~9的一个值 public int digitCounts(int k, int n) { int i, j, num = 0; if (k == 0) { num = 1; …
695. Max Area of Island
题目 Given a non-empty 2D array grid of 0’s and 1’s, an island is a group of 1’s (representing land) connected 4…
100. Same Tree
题目 Given two binary trees, write a function to check if they are the same or not. Two binary trees are conside…
数列求值
链接:数列求值 Description 对于一个含有 n+2个元素的数列A0, A1, ... , An,满足这样的递归公式: Ai = (Ai-1 + Ai+1) /2 - Ci 1≤i≤n 现在我们知道A0, An+…
数组中至多有一个出现次数大于数组长度一半元素,找出这个元素
用一个HashMap就可以很简单的解决这个问题,用HashMap的key存储这个元素,用value存储这个元素出现的次数,遍历数组,每遍历到一个数组就把他put进map,在put之前先检查map中是否已有这个元素,有的话…
剑指offer(63)-机器人的运动范围
题目描述 地上有一个m行和n列的方格。一个机器人从座标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行座标和列座标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,3…