![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
zebintang
能不活着就不要活,在炼狱中死不掉才是最悲哀的,
展开
-
有效的数独
LeetCode 之 有效的数独判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用 ‘.’ 表示。输入:[[“5”,“3”,".",".",“7”,".",".",".","."],[“6”,".",".",“1”,“9”,“5”,".","."原创 2020-10-02 18:23:55 · 305 阅读 · 0 评论 -
百鸡问题
for (int i = 0; i <= 20; i++) { for (int j = 0; j <= 33; j++) { for (int k = 0; k <= 300; k++) ...原创 2018-09-04 13:47:20 · 2458 阅读 · 0 评论 -
基础算法-最小公倍数最大公约数
闲的蛋疼,刷下初级题....基础很重要 //1、分解素因数法:把每个数分别分解素因数,再把各数中的全部公有素因数提取出来连乘, //所得的积就是这几个数的最大公约数;先把这几个数的质因数写出来,最小公倍数等于它们所有的质因数的乘积; static void GreatestCommonDivisorAndLeastCommonMultiple(int a...原创 2018-09-04 12:16:30 · 190 阅读 · 0 评论 -
有效的字母异位词
思路就是开辟一块 内存 去存26个字母, 遍历第一个字符串 遇到就在相应的位置上+1 , ‘a’的 int值是97(ascll编码),再去遍历第二个字符串,在字母表里 相应的位置 --;最后只要遍历字母表上是否为0就知道 是不是字母异位了。但是这个方法要是遇到UniCode 就不好处理了。 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。...原创 2019-01-07 20:17:40 · 114 阅读 · 0 评论 -
有效的数独
判断一个9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字1-9在每一行只能出现一次。 数字1-9在每一列只能出现一次。 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用'.'表示。示例1:输入:[ ["5","3",".","....原创 2019-01-07 17:34:07 · 175 阅读 · 0 评论 -
2020-08-28
给定一个n×n的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], ...原创 2019-01-06 23:16:45 · 274 阅读 · 0 评论 -
只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4解决思路用求异 运算 ^ 异或,因为里面只有一个与其他不一样的数。相同的数会变成0. ...原创 2019-01-06 17:37:32 · 98 阅读 · 0 评论 -
求一个数的X位上的数的运算 (适用于int)
static int GetXinNumber(int x, int number) { return number % (x * 10) / x; }//测试代码 static void Main() { int max = 12345; for (int i = 1; i <Ma...原创 2019-01-05 14:02:00 · 152 阅读 · 0 评论 -
素数问题
素数就是合数,比较优化的素数算法应该是用筛选法 埃拉托斯特尼筛法 ,之前也有解决过这个问题,假设要求的数是 i ,很暴力的从2 到 i-1 对i进行取余运算,非常耗费性能。后面再回头来看,其实有很多地方可以优化 后面知道了有更加优化的 就是 2 4 8其实,2是4 的倍数,4是16的倍数,其实 求质数(素数) 只需要从2 到根号 i 就可以求出了 static L...原创 2019-01-05 00:52:53 · 278 阅读 · 2 评论 -
最大子数组问题
问题描述一个含有n个元素的整数数组,数组元素可以是正数也可以是负数,数组中连续的一个或多个元素称为改数组的子数组,子数组所有元素之和称为子数组和,求一个整数数组子数组和的最大值。例如数组array={1,2,4,8,5,6,7},相差就是{ 1,2,4,-3,1,1}最大子数组就是{1,2,4,8}这里 以 int 类型 为例有一组数{100, 113, 110, 85, 1...原创 2018-10-16 20:52:46 · 191 阅读 · 0 评论 -
活动选择问题_贪心算法
贪心算法对于许多最优化问题,使用动态规划算法来求最优解有些杀鸡用牛刀了,可以使用更加简单、更加高效的算法。贪心算法就是这样的算法,它在每一步做出当时看起来最佳的选择。也就是说它总是做出局部最优的选择,从而得到全局最优解。对于某些问题并不保证得到最优解,但对很多问题确实可以求得最优解。思想贪心算法的基本思路是从问题的某一个初始解出发一步一步地进行,根据某个优化测度,每...原创 2018-10-19 12:07:36 · 3545 阅读 · 0 评论 -
活动选择问题
static void Main(string[] args) { List<int> MaxList=new List<int>(); for (int i = 0; i < 11; i++) { List<int>...原创 2018-10-18 22:07:32 · 113 阅读 · 0 评论 -
动态规划算法
动态规划:动态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决。[1]动态规划算法的基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后...原创 2018-10-17 23:00:52 · 653 阅读 · 0 评论 -
动态规划算法
前言最近在牛客网上做了几套公司的真题,发现有关动态规划(Dynamic Programming)算法的题目很多。相对于我来说,算法里面遇到的问题里面感觉最难的也就是动态规划(Dynamic Programming)算法了,于是花了好长时间,查找了相关的文献和资料准备彻底的理解动态规划(Dynamic Programming)算法。一是帮助自己总结知识点,二是也能够帮助他人更好的理解这个算法。后面...转载 2018-10-17 22:25:52 · 5981 阅读 · 0 评论