刷题
卷帘依旧
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
斐波那契实现(闭包、动态规划、递归、计算当前项是由多少个第一项第二项构成)
实现斐波那契数列,可以通过递归和动态规划的方式实现,现在要求把计算过的变量存储起来,之后用到的时候不必重复计算,此处就用到了闭包// 0, 1, 1, 2, 3, 5, 8...var fib = (function() { var arr = [0, 1, 1];// 也必须得是3个 return function(n){ var res = arr[n];...原创 2020-04-28 21:39:32 · 451 阅读 · 0 评论 -
javascript数组去重的方法
// 方法一:indexOfarr = [2,3,4,5,3,4,2,6,4]function removeDup(arr) { arrNew = [] for(let item of arr) { if (arrNew.indexOf(item) === -1) { arrNew.push(item) } }...原创 2020-03-22 20:31:56 · 155 阅读 · 0 评论 -
猿辅导--课程质量建设
辅导课堂在推进质量建设,需要分析每堂直播课的用户报障数量。当连续多个课堂的报障数量之和大于一个数s的时候,系统发出警报,计算最长连续的没有触发警报的课程数量。输入描述:第一行两个整数: n, s第二行n的整数: 每个整数ai表示该课堂的报障数量对于10%的数据,满足1<=n<2*10^3对于100%的数据,满足1<=n<=2*10^6, 1<=...原创 2019-12-24 10:25:59 · 608 阅读 · 0 评论 -
剑指Offer62: 圆圈中最后剩下的数字(约瑟夫环问题)
题目: 0,1,...,n-1等n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,最后剩下的数字是3.删除过程:loop 1: 删除从0开始的第三个位置上的数字2loop 2: 重新编号,从3开始计数,第三个数字...原创 2019-12-16 19:34:26 · 432 阅读 · 0 评论 -
剑指offer18--删除链表中重复的结点
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5//删除链表中重复的结点public static ListNode deleteDuplication(ListNode pHead){ if (pHead =...原创 2019-12-13 20:31:46 · 326 阅读 · 0 评论 -
判断链表是否有环 如果有,那么找出环的入口
常见的面试题,除了会写代码之外,还要会数学推导,也就是深入理解原理,下面进行说明1 判断链表是否有环设置两个指针,一个快指针和一个慢指针,快指针每次向前移动2步,慢指针每次移动1步,由于快指针的移动速度快于慢指针,所以链表如果无环,快指针会先到达末尾,也就是NULL的位置;链表如果有环,快指针会先进入环内,之后会一直在环内移动,快慢指针最终在环内的某个位置相遇。慢指针p;快指针q;环的...原创 2019-12-13 19:41:02 · 247 阅读 · 0 评论 -
剑指offer45--把数组排成最小的数
描述:输入一个正整数数组,把数组的数字拼接,使得该数是所有拼接数字中最小的一个比如输入{3,32,321}, 则输出321323思路: 对于两个数字m,n,其拼接数字mn, nm, 若mn > nm, 则认为m > n; 若mn < nm, 则m < n根据这一规则对数组升序排序,最后将数字按序拼接,即可实现public static boolean is...原创 2019-12-13 12:27:48 · 273 阅读 · 0 评论 -
剑指offer46--把数字翻译成字符串--java代码
题目: 给定一个数字,按照如下规则翻译为字符串: 0->'a', 1->'b',......, 11->'l', ......, 25->'z'。一个数字可能有多个翻译,比如12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi", "mzi". 编写一个函数,计算一个数字有多少种不同的翻译方法//剑指offer46publi...原创 2019-12-13 11:08:46 · 345 阅读 · 0 评论 -
动态规划之股票交易问题
动态规划_股票问题详解动态规划之股票的买卖_简书Table of ContentsBest Time to Buy and Sell Stock IBest Time to Buy and Sell Stock IIBest Time to Buy and Sell Stock IIIBest Time to Buy and Sell Stock IVBest Time...原创 2019-11-19 17:46:24 · 698 阅读 · 0 评论 -
个人笔记-循环队列实现[循环队列、双端循环队列]
622.Design Circular Queue641.Design Circular Deque原创 2019-11-03 21:00:31 · 146 阅读 · 0 评论 -
交换两个数字的四种方法
第一种: 借助第三个变量(常用方式)代码略第二种: 先加和,再减去其中一个数值b,赋值给b,最后再从和中减去b得到apublic static void main(String[] args) { int a = 3, b = 4; System.out.println("交换之前:"); System.out.println(String.format("a...原创 2019-10-10 21:37:48 · 881 阅读 · 0 评论 -
面试常见算法题之快速排序
面试常见算法题--快速排序原创 2019-09-23 20:19:49 · 501 阅读 · 0 评论 -
单链表反转_递归
//递归链表反转public static ListNode reverseList(ListNode head) { if (head == null || head.next == null) { return head; } ListNode newHead = reverseList(head.next);//倒数第二个节点 head.n...原创 2019-09-19 16:35:28 · 127 阅读 · 0 评论 -
leetcode刷题记录_DP_II
1143. Longest Common Subsequence// https://leetcode.com/problems/longest-common-subsequence/最长公共子序列状态转移方程:if (s[i] == t[j]){ dp[i][j] = dp[i-1][j-1] + 1;}else { dp[i][j] = Math.max(d...原创 2019-09-04 09:31:35 · 146 阅读 · 0 评论 -
leetcode刷题记录_动态规划_I
leetcode_62_unique path动态规划: 声明二维数组,首行首列初始化为1,之后元素=上方值+左方值level: simple63. Unique Paths II//每一行/列的值与前一个状态有关,与uniquePath_I初始化不同for(i=1;i<m;i++){//为第一列元素赋值 if(obstacleGrid[i][0] == 0){...原创 2019-09-02 10:27:10 · 150 阅读 · 0 评论
分享