题目描述: 对输入的单词进行字典序排序输出: 字典序定义:1. 单词中字母比较不区分大小写,两个单词先以第一个字母作为排序的基准,如果第一个字母相同,就用第二个字母为基准,如果第二个字母相同就以第三个字母为基准。依此类推,如果到某个字母不相同,字母顺序在前的那个单词顺序在前。 2. 当一个短单词和一个长单词的开头部分都相同(即短单词是长单词从首字母开始的一部分),短单词顺序在前。 3. 字母大小写不同的相同单词,只输出一次。  输入描述:  不超…

2021年10月28日 0条评论 7点热度 阅读全文

因子个数 一个正整数可以分解成一个或多个数组的积。例如36=223*3,即包含2和3两个因子。NowCoder最近在研究因子个数的分布规律,现在给出一系列正整数,他希望你开发一个程序输出每个正整数的因子个数。 输入描述: 输入包括多组数据。 每组数据仅有一个整数n (2≤n≤100000)。 输出描述: 对应每个整数,输出其因子个数,每个结果占一行。 示例1 输入 302620 输出 322 链接:https://www.nowcoder.com/questionTerminal/e8fb8f89f5d147ec9…

2021年5月22日 0条评论 7点热度 阅读全文

题目描述: 小明数学不太好,如果他计算a+b需要花费(a+b)的时间,现在有n个数字,让小明去求这n个数字的和,求小明计算这n个数字所花费的最小时间; 备注:每次都要先算最小的两个数的和,这样总时间才会最小。 输入:[1,2,3] 输出:9 说明: 1+2需要3秒 3+3需要6秒 总共需要9秒 输入:[1,2,3,4,5] 输出:33 说明: 1+2需要3秒 3+3需要6秒 4+5需要9秒 6+9需要15秒 可以使用优先队列PriorityQueue实现; public static void main(Strin…

2021年3月4日 0条评论 43点热度 阅读全文

给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。   示例 1: 输入:s = "ADOBECODEBANC", t = "ABC" 输出:"BANC" 示例 2: 输入:s = "a", t = "a" 输出:"a" class Solution { public: string minWindow(string s, string t) { …

2021年3月3日 0条评论 39点热度 阅读全文

给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。   示例 1: 输入:s = "ADOBECODEBANC", t = "ABC" 输出:"BANC" 示例 2: 输入:s = "a", t = "a" 输出:"a" class Solution { public: string minWindow(string s, string t) { …

2021年3月3日 0条评论 48点热度 阅读全文

介绍 有这么一类题,会考察利用已有的数据结构(包含某些算法)来设计一种新的数据结构。 经典例题 【力扣-232. 用栈实现队列】 /** * 主要难点在于pop时要记得检查s2栈是否为空 */ import java.util.Stack; //leetcode submit region begin(Prohibit modification and deletion) class MyQueue { private Stack<Integer> s1; private Stack<Intege…

2021年3月3日 0条评论 44点热度 阅读全文

Degree Sequence of Graph G 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2454 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description Wang Haiyang is a strong and optimistic Chinese youngster. Although born and bro…

2021年1月30日 0条评论 9点热度 阅读全文

题目描述 给定一个数组, 求如果排序之后, 相邻两数的最大差值, 要求时间复杂度O(N), 且要求不能用非基于比较的排序。 解法1:暴力法 题目要求时间复杂度为O(N),这意味着我们不能用基于比较的排序方法对数组做排序,因为最快也是O(NlogN)的,但还是做了一下。 方法就是排序了之后用后一个数减前一个数,更新maxGap的值就好了 解法2:利用桶的思想但不排序 这里,数组有N个数,就分N+1个桶,整个解法并不涉及排序 用三个数组记录每个桶的信息(最大值、最小值、是否有数) 最后,利用解法1的思想,求出所有当前桶…

2021年1月17日 0条评论 36点热度 阅读全文

NowCode 题目描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5] 输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8 输出: 6 解释: 节点 2 …

2021年1月16日 0条评论 47点热度 阅读全文

查并集及优化 DSU/查并集 查并集应用

2020年11月18日 0条评论 7点热度 阅读全文