昨天在一次编码面试中,我被问到如何从 4,000,000,000 个整数(可能包含重复项)中获取最频繁的 100 个数字,例如:
813972066
908187460
365175040
120428932
908187460
504108776
Run Code Online (Sandbox Code Playgroud)
我想到的第一种方法是使用 HashMap:
static void printMostFrequent100Numbers() throws FileNotFoundException {
// Group unique numbers, key=number, value=frequency
Map<String, Integer> unsorted = new HashMap<>();
try (Scanner scanner = new Scanner(new File("numbers.txt"))) {
while (scanner.hasNextLine()) {
String number = scanner.nextLine();
unsorted.put(number, unsorted.getOrDefault(number, 0) + 1);
}
}
// Sort by frequency in descending order
List<Map.Entry<String, Integer>> sorted = new LinkedList<>(unsorted.entrySet());
sorted.sort((o1, o2) -> o2.getValue().compareTo(o1.getValue()));
// Print first 100 numbers
int count = 0;
for …Run Code Online (Sandbox Code Playgroud) 示例:https://regex101.com/r/n4x91E/1
输入字符串:
"我认为我们必须向某个人指出某些事情,并在此之后向他提出其他一些事情"
我的常规表达:
(point).*(out)
Run Code Online (Sandbox Code Playgroud)
返回错误的结果:
"我认为我们也必须point certain things out to this man, and after that point some other things out对他"
预期结果:
"我认为我们必须point certain things out对这个人,在那之后还有其他一些东西给他"
如何更改我的正则表达式以获得第一组?
问题
根据这个和这个扬鞭支持复杂的参数,但是当我试图描述一个JSON参数扬鞭编辑器显示了以下问题:
无法呈现ParameterRow,请参见控制台。
预期行为
Json对象作为参数。
YAML
openapi: "3.0.0"
info:
version: 1.0.0
title: Trackmeeasy API
paths:
/getLabelUrl.action:
post:
parameters:
- in: query
name: filter
content:
application/json:
schema:
type: object
properties:
type:
type: string
color:
type: string
responses:
'200':
description: OK
Run Code Online (Sandbox Code Playgroud)
复制...
屏幕截图