###题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 ###题目解析 采用分治法的思想,找到根结点、左子树的序列、右子树的序列,分别判断左右子序列是否为二叉树的后序序列。 后序遍历序列的最后一个元素 ...
分类:
其他好文 时间:
2020-07-03 12:15:58
阅读次数:
60
#幂次运算 ** mici = 1 while mici <= 9: print(2**mici,end=" ") #打印2的n次幂 mici += 1 #取整运算 // print("\n取整运算:5//3 = ",5//3) ''' 逻辑运算: 或:or 与:and 非:not 优先级问题: 有 ...
分类:
编程语言 时间:
2020-07-03 12:09:28
阅读次数:
57
题目描述 烽火台是重要的军事防御设施,一般建在交通要道或险要处。 一旦有军情发生,则白天用浓烟,晚上有火光传递军情。 在某两个城市之间有 n 座烽火台,每个烽火台发出信号都有一定的代价。 为了使情报准确传递,在连续 m 个烽火台中至少要有一个发出信号。 现在输入 n,m 和每个烽火台的代价,请计算在 ...
分类:
其他好文 时间:
2020-07-03 09:15:30
阅读次数:
170
给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。 Example: matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15] ], k = 8, oupu ...
分类:
其他好文 时间:
2020-07-02 23:20:46
阅读次数:
91
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。来源:力扣(LeetCode)链接:https://leetcode-cn. ...
分类:
其他好文 时间:
2020-07-02 22:03:18
阅读次数:
57
1 #include <iostream> 2 #include<cstdio> 3 using namespace std; 4 int main(){ 5 int p,e,i,d; 6 int num=0; 7 while(1){ 8 cin>>p; 9 if(p 1) 10 break; 11 ...
分类:
其他好文 时间:
2020-07-02 22:00:58
阅读次数:
48
###题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 ###题目解析 首先看十进制是如何做的: 5+7=12,三步走 第一步:相加各位的值,不算进位,得到2。 第二步:计算进位值,得到10. 如果这一步的进位值为0,那么第一步得到的值就是最终结果。 第三步: ...
分类:
其他好文 时间:
2020-07-02 21:24:02
阅读次数:
52
完全能代替splay的完美算法! 核心操作:merge int merge(int x,int y) { if(!x||!y) return x|y; if(rnd[x]<rnd[y]) { down(x); rs[x]=merge(rs[x],y); up(x); return x; } else ...
分类:
其他好文 时间:
2020-07-02 21:21:28
阅读次数:
51
后续更新双端快排,以及Arrays.sort()中的三路快排。 public void quickSort(int[] num,int start,int end){ if (start>=end){ return; } int i = start; int j = end; while(i<j){ ...
分类:
编程语言 时间:
2020-07-02 19:50:59
阅读次数:
52
import java.util.*; public class Main { static boolean dfs(List<Integer> list, int sum3, int sum5, int u) { if(u == list.size()) { return sum3 == sum5 ...
分类:
编程语言 时间:
2020-07-02 19:47:26
阅读次数:
83