基姆拉尔森计算公式 W=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7 其中,W表示算出的星期的数字表示:0:星期日;1:星期一…… d表示日期,m表示月份,y表示年份 代码实…
标签:算法
【leecode】 6.ZigZag Conversion(锯齿形变换)
The string “PAYPALISHIRING” is written in a zigzag pattern on a given number of rows like this: (you may want …
5.快速排序算法
据说这是一种能够快速计算进行排序的算法,刚才发现一件很不开心的事情,博客上有一些代码莫名其妙被删去了,算啦,删掉也好,下次看到的时候就会努力去思考这几个地方应该写什么,就不用直接copy了!! 大概了解了一…
区域赛前把所有dp类型练一遍(挖坑
CCPC吉林D题,概率DP。暴力打表为2^n不可行,考虑每个点由什么状态转移过来。 设DP[i][j]表示到坚持到玩了i回合,赢了j次仍然没有结束的概率。 显然DP[i][j]=p1*DP[i-1][j]+p2*DP[i…
C++ 逻辑表达式求值
#include<iostream> #include<cstdio> #include<stack> #include<queue> #include<cstrin…
变态跳台阶
题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 代码 class Solution { public: int jumpFloorII(int …
【算法】反转队列前K个元素
反转队列前K个元素 想到队列的反转那肯定首先想到的就是堆栈(同理堆栈反转也可以利用队列) 有一个办法我们可以将K个元素入栈,然后可以另一个队列将剩下的元素放入,随后我们首先将栈元素回归原来的队列,最后将临时队列也入队。 …
数据结构算法时间复杂度-对数阶
int count = 1; while (count < n) { count = count * 2; /* 时间复杂度为O(1)的程序步骤序列 */ } 由于每次coun…
LeetCode:908. Smallest Range I -Python
问题描述: 908. 最小差值 I 给定一个整数数组A,对于每个整数 A[i],我们可以选择任意x满足-K <= x <= K,并将x加到 A[i]中。 在此过程之后,我们得到一些数组 B。 返回 B的最大值…
pascals-triangle-ii leetcode C++
Given an index k, return the k th row of the Pascal’s triangle. For example, given k = 3, Return[1,3,3,1…
sort-list leetcode C++
Sort a linked list in O(n log n) time using constant space complexity. C++ /** * Definition for singly-linked …
Billboard hdu 2795(线段树区间最大值的更新和查询)
线段树区间最大值的维护: #include<bits/stdc++.h> using namespace std; #define lson l,mid,i<<1 #define rson mid…