
算法
胡同学_Better_me
心静了,人也就净了
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
转置32位无符号数
Reverse bits of a given 32 bits unsigned integer.Example 1:Input: 00000010100101000001111010011100Output: 00111001011110000010100101000000Explanation: The input binary string 000000101001010000011...原创 2019-12-04 16:26:42 · 317 阅读 · 0 评论 -
LeetCode:Best Time to Buy and Sell Stock I II III
LeetCode:Best Time to Buy and Sell Stock ISay you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction (ie, ...原创 2019-11-13 09:22:26 · 166 阅读 · 0 评论 -
Leetcode 108. Convert Sorted Array to Binary Search Tree
1、递归法class Solution(object): def sortedArrayToBST(self,nums): """ :type nums: List[int] :rtype: TreeNode """ if nums == [] or nums == None: ret...原创 2019-11-04 08:58:15 · 149 阅读 · 0 评论 -
常规求幂、二分求幂、快速位求幂
我是因为刷杭电的题目了解到了幂运算,那就贴一下杭电的题目好了http://acm.hdu.edu.cn/showproblem.php?pid=2065然后在贴一下别人关于幂运算的博客https://blog.youkuaiyun.com/prstaxy/article/details/8740838题目描述:给定数字a,b,求a^b。思路:解法包括常规求幂、二分求幂、快速求幂(位运算)。每一种求法...转载 2019-03-07 14:23:00 · 244 阅读 · 0 评论 -
递归
递归:一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法递归是我们经常是能够用到的解题思想,前面我已经简单的说了一下递推,今天我们来念叨念叨递归。我认为许多的题目都可以同时用递归和递推的思想实现,但是往往递推的效果更好,后面会举例子说明的。原创 2017-11-27 23:17:57 · 260 阅读 · 0 评论 -
大整数型运算
我们在学习算法基础的时候,经常遇到求n!,但是int数据类型能表示的数最大是2^32-1 ,当我们的累乘器或者累加器大于前者时,这时候我们应该用数组来表示。例如我们用a[]数组来存储n!,a[1]存储个位,a[2]存储十位,依次类推。那么问题来了,我们需要求解n!到底是几位数设n!是m位,则可以得到下列推导过程(基于十进制数) 10^(m-1)≤n!≤10^m-1 //两边同时取对数 m-1≤原创 2017-10-02 21:00:10 · 347 阅读 · 0 评论 -
动态规划—0-1背包
动态规划有以下三个特点: 1:多阶段决策 2:最优值和最优解 3:最优子结构 动态规划采用自底而上的思想保存子问题值,避免重复计算。例如斐波那契数列的递归函数,f(5)=f(3)+f(4),而f(4)=f(3)+f(2),存在重复计算的问题。原创 2017-12-13 21:34:32 · 279 阅读 · 0 评论 -
快速排序
我们知道冒泡排序和选择排序的时间复杂度都是O(n2),他们都是效率不高的算法 下面要说一下快速排序(基于二分法)转载 2017-11-18 23:04:30 · 146 阅读 · 0 评论 -
递推之猴子爬山
递推是利用问题本身所具有的递推关系求解问题的方法。所谓递推,是在命题归纳时,可以由数量分别为n-k,…,n-1的情形推得数量为n的情形,或者反过来由数量分别为i+k,…,i+1的情形推出数量为i的情形。原创 2017-11-17 22:04:02 · 1385 阅读 · 0 评论 -
排序—桶排序
排序是我们学习数据结构与算法时经常见到的东西,下面就说几种常见并且简单的排序算法。原创 2017-11-18 18:48:55 · 230 阅读 · 0 评论 -
排序—冒泡
二,冒泡排序 冒泡排序的基本思想是:每次比较两个相邻的元素,如果他们的顺序不满足要求就把它们的位置调换。原创 2017-11-18 18:55:55 · 153 阅读 · 0 评论 -
排序—选择排序
三,选择排序思想与冒泡排序思想差不多。选择排序:某个元素依次与其后面的每个元素进行比较,不满足要求则调换位置。 例如 有十个数 13 26 43 12 44 22 56 73 18 53 要求从大到小排序 code如下:int main(){int i,j,t,n;int a[11];scanf("%d",&n); //输入总数for(i=0;i<n;i...原创 2017-11-18 19:18:49 · 156 阅读 · 0 评论