![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
文章平均质量分 92
ob踏雪者
这个作者很懒,什么都没留下…
展开
-
五大常用算法:分治、动态规划、贪心、回溯和分支界定
【转载】 原文地址:五大常用算法:分治、动态规划、贪心、回溯和分支界定 分治算法 一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 任何一个可以用计算机求解的问题所需的计算时间都与其规模有关。问题的规模越小,越容易直接求解,解.转载 2021-08-09 15:38:45 · 493 阅读 · 0 评论 -
Java中 ^(异或)的妙用
引子 交换两个数的值,a = 10, b = 20; 这个很简单,大家都会,即新定义一个变量做中间量,然后交换,如下: int a = 10, b = 20; int temp = a; a = b; b = temp; 那么,问题来了,如何在不定义中间变量,即空间复杂度为1的情况下交换两个数的值呢? ^的第一个妙用 首先解释一下^,即异或,在二进制中,两个数的对应位置的值相同则结果为0...原创 2019-09-16 21:31:10 · 913 阅读 · 1 评论