Algorithm
文章平均质量分 52
czl_Serena
这个作者很懒,什么都没留下…
展开
-
leetcode 面试题27 二叉树的镜像
class Solution {public: TreeNode* mirrorTree(TreeNode* root) { if(root!=NULL){ swap(root->left, root->right); } else return NULL; mirrorTree(root->left); mirrorTree(root->right); .原创 2020-05-15 01:47:32 · 206 阅读 · 0 评论 -
leetcode 283. Move zeros
//originalclass Solution {public: void moveZeroes(vector<int>& nums) { int j=0; int temp=0; for(int i=0;i<nums.size();i++) if(nums[i]!=0){ temp=nums[i]; nums[i]=nums[j].原创 2020-05-12 15:24:33 · 253 阅读 · 0 评论 -
leetcode 面试题 16.17. Contiguous Sequence LCCI
You are given an array of integers (both positive and negative). Find the contiguous sequence with the largest sum. Return the sum.Example:Input: [-2,1,-3,4,-1,2,1,-5,4]Output: 6Explanation: [4,-1,2,1] has the largest sum 6.Follow Up:If you hav...原创 2020-05-12 15:07:14 · 275 阅读 · 0 评论 -
测评错题
连续整数之和为1000的共有几组 当N为奇数时,X为整数。( X等于N个数中的中位数 )此时,N是1000的因数中的奇数,共计有N=1,N=5,N=25,N=125四种,则对应的X分别为X=1000,200,40,8; 当N为偶数是,X为小数位为0.5的小数( X等于N个数中的最大数和最小数的一般,即一个奇数和一个偶数和的一般 ),那么2X是个奇数,令2X=Y,则有N*Y=2000,此时,Y是2000的因数中的奇数共计有Y=1,5,25,125四种,则对应的N为2000,400,80,16。X=0.5原创 2020-05-11 04:57:46 · 461 阅读 · 0 评论 -
Backtracking总结
基本概念:backtracking(回溯算法)也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试回溯算法说白了就是穷举法。不过回溯算法使用剪枝函数,剪去一些不可能到达最终状态(即答案状态)的节点,从而减少状态空间树节点的生成。 回溯法是一个既带有系统性又带有跳跃性的的搜索算法。它在包含问题的所有解的解空间树中,按照深度优先的策...转载 2018-06-29 11:39:47 · 1238 阅读 · 0 评论 -
基础算法回顾
#1 经典排序算法 – 插入排序Insertion sort 插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 插入排序方法分直接插入排序和折半插入排序两种,这里只介绍直接插入排序,折半插入排序留到“查找”内容中进行。 图1演示了对4个元素进行直接插入排序的过程,共需要(a),(b),(c)三次插入。以下代码仅供参考,原创 2017-09-08 01:04:12 · 346 阅读 · 0 评论 -
迭代复杂度分析
In this post, analysis of iterative programs with simple examples is discussed.1) O(1): Time complexity of a function (or set of statements) is considered as O(1) if it doesn’t contain loop, recur转载 2017-09-10 07:36:42 · 1610 阅读 · 0 评论 -
Loop Invariant Proof examples
Linear search:https://ita.skanev.com/02/01/03.htmlInsertion Sort:https://www.hackerrank.com/challenges/correctness-invariant原创 2017-09-24 07:28:43 · 518 阅读 · 0 评论 -
位运算判断奇偶
普通方法public static boolean isOdd(int i){ return i % 2 != 0;}位运算方法public static boolean isOdd(int i){ return (i & 1) != 0;} 位运算可以提高程序的运行效率:计算机中的数字通常用二进制补码表示——如果为正数,补码原创 2017-09-06 21:11:57 · 804 阅读 · 0 评论 -
计算机科学中最重要的32个算法
奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结果,按照英文名称字母顺序排序。A* 搜索算法——图形搜索算法,从给定起点到给定终点计算出转载 2017-09-06 21:02:56 · 398 阅读 · 0 评论 -
直方图中的最大矩形
在2017CSP认证和蓝桥杯均出现问题描述:Given n non-negative integers representing the histogram's bar height where the width of each bar is 1, find the area of largest rectangle in the histogram.原创 2017-07-19 11:22:35 · 497 阅读 · 0 评论 -
递归(recursion)
在说递归之前,我给大家说一个小故事,故事就是在说递归之前,我给大家说一个小故事,故事就是在说递归之前,我给大家说一个小故事,故事就是在说递归之前,我给大家说一个小故事,故事就是在说递归之前我给大家说一个小故事...... 这个故事的名字就叫做递归。。。哈哈。故事虽然有点扯淡,但它却很好的解释神马叫做递归。递归的正式定义: 在数学和计算机科学中,原创 2017-07-07 09:53:18 · 652 阅读 · 0 评论