面试题64. 求1+2+…+n 求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 1.解题思路 正整数累加,常规方法很简单。但是这里要求了不能使用乘除法、for,while(迭代)、if,else,swit ...
分类:
其他好文 时间:
2020-06-02 13:17:42
阅读次数:
80
解题思路因为在 Python 中字符串是不可变,因此遍历字符串交换每个单词内字符位置的方法不太可行,但是利用 Python 切片的便利,可以写出更优雅的实现方式。 1、常规思路 将字符串分割成单词列表 然后把每个单词反转切片 使用for循环遍历 class Solution: def reverse ...
分类:
其他好文 时间:
2020-06-02 11:23:26
阅读次数:
57
题目链接 https://codeforces.com/contest/817/problem/D 题目大意 给你一个序列,让你求出这个序列的每个区间最大值的和 - 最小值的和 解题思路 单调栈 单调栈经典问题。 我们先求出以 a[ i ] 为最小值的左右最长拓展 L1[i] , R1[i] 那么以 ...
分类:
其他好文 时间:
2020-06-01 18:06:31
阅读次数:
63
继续练习二叉树,原题目链接:把二叉树打印成多行。 题目描述: 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 解题思路: 从上到下打印,从左到右输出;实质是要考察二叉树的遍历,不同于三种常用的遍历。 首先从根节点开始遍历;遍历到每个结点,就把该结点的左右结点一起存起来;由于需要返回 ...
分类:
其他好文 时间:
2020-06-01 14:06:37
阅读次数:
51
将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 解题思路: /** * Definition for singly-linked list. * struct Lis ...
分类:
其他好文 时间:
2020-05-31 13:23:10
阅读次数:
68
题目描述 描述: 输入一个整数,将这个整数以字符串的形式逆序输出 程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001 输入描述: 输入一个int整数 输出描述: 将这个整数以字符串的形式逆序输出 示例1 输入 1516000 输出 0006151解题思路此题比较简 ...
分类:
编程语言 时间:
2020-05-31 13:17:35
阅读次数:
95
101. 对称二叉树 给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3 1.解题思路 如果同时满足下面的条件: 一个树的左子树和右子树的两个根结点具有相同的值 在左子树或右子树的每个子树的右子树都与另一 ...
分类:
其他好文 时间:
2020-05-31 13:09:41
阅读次数:
50
最长连续序列 题目[128]:🔗链接。 解题思路 节点本身的值作为节点的标号,两节点相邻,即允许合并(x, y)的条件为x == y+1 。 因为数组中可能会出现值为 -1 的节点,因此不能把 root[x] == -1 作为根节点的特征,所以采取 root[x] == x 作为判断是否为根节点的 ...
分类:
其他好文 时间:
2020-05-30 21:40:05
阅读次数:
58
题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 示例1 输入 9876673 输出 37689解题思路:此题比较简单,正常1分钟就可以算出来了,用for函数 ...
分类:
编程语言 时间:
2020-05-30 11:01:31
阅读次数:
95
题目链接 #题目大意 查询有多少对(x,y),使得x到y至少存在一条路径,路径上的边权值最大值不超过L。 #解题思路 从小到达依次枚举各个边,就能得到若干个图,图里的每条边都不大于当前的最大边(废话)。但是问题在于如何求出每次新加入一条边之后的点的对数,因为所有的边不一定是全都连接一起的。 如果一条 ...
分类:
其他好文 时间:
2020-05-29 23:01:22
阅读次数:
59