算法
101之歌
一个屌丝搬砖程序员
展开
-
347. 前 K 个高频元素
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]暴力解法:package trees;import java.util.*;import java.util.stream.Collectors;public class TopKFrequent {原创 2021-04-23 21:09:25 · 86 阅读 · 0 评论 -
239. 滑动窗口最大值
给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5 3 6 7 3 1原创 2021-04-23 20:20:43 · 78 阅读 · 0 评论 -
力扣707题-设计链表
题目如下:有一说一,这个题确实很简单,但是我写完以后发现我的测试用例只通过了21个,今天实在没思路了,缓一缓,下次再来AC这个题,下面是部分代码,仅供参考:package trees;public class MyLinkedList { Node node; public class Node { // 当前值 int val; // 后继节点 Node next; } public int ge原创 2021-04-10 16:02:51 · 185 阅读 · 0 评论 -
力扣35题-搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/search-inse.原创 2021-04-07 21:31:42 · 184 阅读 · 4 评论 -
一个算法题,先写一下答案,后续补充题目,太困了
package com.code.test;import java.util.ArrayList;import java.util.List;public class Test { public static void main(String[] args) { int continueThd = 2; int freqThd = 2; int timeThd = 12; int period = 1; Lis原创 2020-12-31 00:53:00 · 123 阅读 · 0 评论 -
一些算法的知识
今晚的主题二叉树的构建,遍历ArrayList和LinkedList的区别使用LinkedList构建栈首先我们来看一下怎么遍历这个二叉树,常规的有三种方式:先序遍历:根左右中序遍历:左根右后序遍历:左右根那么java代码应该怎么实现呢?我在网上找了一个比较常规的写法首先我们需要一个Node类,用来存储每个节点的值package com.test.letcode;/*...原创 2020-04-22 22:38:32 · 103 阅读 · 0 评论 -
一个算法题引发的思考
今天遇到了一个算法题,具体的描述我已经忘了,但是大概是这么个意思,输入是三个数组,当然数组的个数是不固定的,数组的长度也是不固定的,举个例子,比如:a=[1,2]b=[1,2]c=[5]输出是[1,1,5][1,2,5][2,1,5][2,2,5]乍一看好像看不出规律,但是其实就是从上往下看,然后依次去遍历,这个题就让我想到了把这三个数组构建一个树,然后把数字作为树的...原创 2020-04-21 22:00:29 · 141 阅读 · 0 评论