随笔分类 -  每周算法练习

上一页 1 ··· 4 5 6 7 8 9 10 11 下一页
摘要:"题目" 阅读全文
posted @ 2019-05-23 10:54 Shendu.CC 阅读(97) 评论(0) 推荐(0)
摘要:"题目" class Solution { public: vector twoSum(vector& nums, int target) { vector res; for(int i=0;i 阅读全文
posted @ 2019-05-23 10:53 Shendu.CC 阅读(95) 评论(0) 推荐(0)
摘要:"题目" c++ 阅读全文
posted @ 2019-05-20 18:09 Shendu.CC 阅读(75) 评论(0) 推荐(0)
摘要:"题目" 这是上一道 "题目" 的升级题 上一道题目中的数组是没有重复的,现在是有重复的,那么会带来什么变化呢? 还是可以二分,但是有一种情况是当 和 , 都相等的时候,没有办法判断是向左还是向右。那么这个时候,就把 于是如果是数字都一样的数组,那么就会以O(N)的效率执行。LeetCode并没有卡 阅读全文
posted @ 2019-05-20 17:20 Shendu.CC 阅读(83) 评论(0) 推荐(0)
摘要:"题目" 二分 一不小心耗时超过100%的c++解决方案。哈哈哈 阅读全文
posted @ 2019-05-16 13:46 Shendu.CC 阅读(91) 评论(0) 推荐(0)
摘要:"题目" 思路 维护两个数组,一个是a[i] 表示以i为结尾的子序列乘积的最大值 一个是b[i] 表示以i为结尾的子序列乘积的最小值 然后就是动态规划的思想。 c++ class Solution { public: int s[1000005]; int a[1000005]; int b[100 阅读全文
posted @ 2019-05-10 08:47 Shendu.CC 阅读(96) 评论(0) 推荐(0)
摘要:"题目" c++ 阅读全文
posted @ 2019-04-25 18:00 Shendu.CC 阅读(82) 评论(0) 推荐(0)
摘要:"题目" 煞笔题目,怪不得那么多人diss 两层for循环,它还疯狂卡精度,double的精度不够,必须long double 阅读全文
posted @ 2019-04-25 11:18 Shendu.CC 阅读(126) 评论(0) 推荐(0)
摘要:"题目" 这道题目实际上可以用动态规划来做。 对于每个区间,我们从右边边界,往左边走,如果能走n 1次,那说明以右边边界为起点存在一个题目中说的子链。 利用倍增算法,实际上倍增也是动态规划。f[i][j] 表示以i为结尾,能够往前走 2^j 次所到达的位置。 最后就是寻找以每个点为右边边界,往前走, 阅读全文
posted @ 2019-04-24 10:14 Shendu.CC 阅读(199) 评论(0) 推荐(0)
摘要:"题目" 水题,dfs include include include using namespace std; define MAX 100000 struct Node { int value; int c; int next; }edge[MAX+5]; int pos; int head[M 阅读全文
posted @ 2019-04-16 15:54 Shendu.CC 阅读(114) 评论(0) 推荐(0)
摘要:"题目" 解题思路 关键是要 ,找出L 的组合,然后遍历L的组合,用最大公约数就可以算出来当前L的值要停多少次 怎么找出L的组合呢?饭店是每隔K 有一个,是重复的,我们只需要算出第一个饭店两侧,起点和停顿点的情况,之后再加上k 1 ,k 2,k 3 就能得出所有L的组合。 数据范围是 10万,所以必 阅读全文
posted @ 2019-04-12 13:59 Shendu.CC 阅读(161) 评论(0) 推荐(0)
摘要:"题目" 解决思路是,每个位上都是9的情况,遍历一下就可以了。 include using namespace std; int n; int a[35]; int main() { scanf("%d",&n); int tag=0; while(n) { a[tag]=n%10; n=n/10; 阅读全文
posted @ 2019-04-11 11:34 Shendu.CC 阅读(159) 评论(0) 推荐(0)
摘要:"题目" 实现一个缓存机制。很多人的写法都是使用HashTable, Map,Dictionary 或者别的工具。 但是我,自己硬核手写了一个可插入删除的AVL树,并且把这道题目给过了 代码实在有点偏长,以后再重构代码。 过程中Wa了很多次,最后一次的AC的感觉,真是找到以前比赛时候的感觉。 阅读全文
posted @ 2019-04-09 14:23 Shendu.CC 阅读(179) 评论(1) 推荐(0)
摘要:KMP: csharp public int KMP (ReadOnlySpan content, ReadOnlySpan span) { _next = new int[span.Length]; GetNext (span); int i = 0; int j = 0; while (i = 阅读全文
posted @ 2019-04-04 20:08 Shendu.CC 阅读(174) 评论(0) 推荐(0)
摘要:平衡二叉树 左旋,右旋,左右旋,右左旋 具体原理就不说了,网上教程很多。这里只实现了建树的过程,没有实现删除节点的操作。 下一篇会实现删除节点的操作。 // // main.cpp // AVL // // Created by 小康 on 2019/3/30. // Copyright © 201 阅读全文
posted @ 2019-03-30 13:33 Shendu.CC 阅读(332) 评论(1) 推荐(1)
摘要:问题来源 写这篇博客来源于一次面试的经历。经典面试题:如何用 两个栈实现一个队列 ?它经常被拿来面试。如果对栈和队列比较掌握的人,就可以轻松的答出来。 然而,那天坐在对面的面试者直接抛出: 如何用有限个栈模拟常数效率操作的队列呢 ?作为一个面试官,我 佯装镇定 ,因为这个和用栈实现队列可是 一个天上 阅读全文
posted @ 2019-03-27 10:08 Shendu.CC 阅读(1872) 评论(19) 推荐(3)
摘要:B. Parade time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Very soon there will be a parade of 阅读全文
posted @ 2019-03-26 10:33 Shendu.CC 阅读(140) 评论(0) 推荐(0)
摘要:"LeetCode 150 Evaluate Reverse Polish Notation" 后缀表达式,利用栈就可以轻松计算 c++ class Solution { public: int stack[10005]; int pos=0; int evalRPN(vector& tokens) 阅读全文
posted @ 2019-03-12 08:32 Shendu.CC 阅读(104) 评论(0) 推荐(0)
摘要:LeetCode 148 Sort List 排序, 我使用了三种排序: 手写快排: 48ms C++模板快排: 48ms 堆排序:52ms c++: 阅读全文
posted @ 2019-03-10 10:01 Shendu.CC 阅读(131) 评论(0) 推荐(0)
摘要:题目 这是一道 指针题目。 指针是最烦的,但是弄清楚指针的原理,这样的题目也可以轻松过。 思路就是遍历链表,没遍历到一个新的节点,都把它和从头开始比,遇到第一个比它大的就插进去。 写的过程中一定要小心,很容易就写错。 c++ 题解 阅读全文
posted @ 2019-02-13 19:56 Shendu.CC 阅读(133) 评论(0) 推荐(0)

上一页 1 ··· 4 5 6 7 8 9 10 11 下一页