常见算法编程
weidiezeng
android
展开
-
回溯算法杂谈
1、概念回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。许多复杂的,规模较大的问题都可以使用回溯法,...原创 2020-01-01 09:07:29 · 361 阅读 · 0 评论 -
判断是否是包含重复字符的字符串
##问题描述:实现一个函数判断字符串之中的字符是否唯一。###基本思路一:1、另外,对于null或者长度是0的字符串,没有重复字符,返回true2、将字符串转成字符数组,3、使用Arrays.sort(char[])对字符数组进行排序,然后,逐个遍历整个排序后的数组,如果不是最后一个字符,并且如果当前字符和其后面的字符相同,那么就直接返回false,否则继续遍历,如果所有的元素和其后面都...原创 2019-11-17 16:03:53 · 1059 阅读 · 0 评论 -
Leetcode200 岛屿的数量
题目:给定一个由'1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例 1:输入:11110110101100000000输出:1示例2:输入:11000110000010000011输出: 3基本思路:1、线性扫描整个二维网格,...原创 2019-10-27 10:35:26 · 89 阅读 · 0 评论 -
大数阶乘
题目描述输入一个正整数N,输出N的阶乘。输入描述:正整数N(0<=N<=1000)输出描述:输入可能包括多组数据,对于每一组输入数据,输出N的阶乘示例1输入4515输出241201307674368000基本思路:比如算50的阶乘:我们要先从1开始乘:1*2=2,将2存到a[0]中;接下来是用a[0]*3;2*3=6,将6储存在a[0]...原创 2019-10-23 16:09:18 · 146 阅读 · 0 评论