
Code练习
习题记录
榴月~
自强,弘毅,求是,拓新
展开
-
力扣-面试题 17.17. 多次搜索
力扣原创 2021-12-19 21:27:08 · 213 阅读 · 0 评论 -
128最长连续序列
【代码】128最长连续序列。原创 2024-07-31 14:39:44 · 148 阅读 · 0 评论 -
215. 数组中的第K个最大元素
【代码】215. 数组中的第K个最大元素。原创 2024-07-31 15:17:40 · 264 阅读 · 0 评论 -
1060. 有序数组中的缺失元素
有序数组中的缺失元素难度中等97收藏分享切换为英文接收动态反馈现有一个按 升序 排列的整数数组 nums ,其中每个数字都 互不相同 。给你一个整数 k ,请你找出并返回从数组最左边开始的第 k 个缺失数字。示例 1:输入:nums = [4,7,9,10], k = 1输出:5解释:第一个缺失数字为 5 。示例 2:输入:nums = [4,7,9,10], k = 3输出:8解释:缺失数字有 [5,6,8,…],因此第三个缺失数字为 8 。示例 3:输入:nu.原创 2022-02-01 11:40:39 · 1223 阅读 · 0 评论 -
转载UML类图总结,待整理
类图:继承关系:带空心箭头的直线实现关系:带空心箭头的虚线聚合关系:带空心菱形箭头的直线组合关系,是一种强依赖的特殊聚合关系:带实心菱形箭头的直线关联关系,不强调方向:直线关联关系,强调方向:带箭头的直线依赖关系,带箭头的虚线时序图:对象生命线控制焦点消息https://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html#generalization...原创 2021-10-02 09:31:21 · 125 阅读 · 0 评论 -
LC - 1436旅行终点站
1436旅行终点站给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 paths[i] = [cityAi, cityBi] 表示该线路将会从 cityAi 直接前往 cityBi 。请你找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市。题目数据保证线路图会形成一条不存在循环的线路,因此恰有一个旅行终点。1、双循环操作 public static String destCity(List<List<String>> paths) {原创 2021-10-08 23:08:59 · 85 阅读 · 0 评论 -
leetcode350_两个数组的交集II
package leetcode.array;import java.util.Arrays;import java.util.HashMap;import java.util.Map;/** * 2020/11/11 21:45 * 官方解题思路 * 一: * 使用HashMap记录第一个数组中存在的数字和对应存在的次数。 * 遍历第二个数组,检查是否在HashMap中存在,如果存在且次数为正,则将该数字添加到result中,并将Hashmap计数减一。 * 二: * 两数组排序转载 2020-11-13 11:33:40 · 139 阅读 · 0 评论 -
LC-加一和ArrayList转成数组
package leetcode.array;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;/** * * 2020/9/29 22:39 * 报错了,当数较大时溢出了,应该考虑使用字符串或者考虑大数,但是大数有可能会更复杂。 * 学习内容: * 1、ArrayList反转,Collections.reverse(arrayList); * 2、ArrayList转换成S原创 2020-09-29 23:30:40 · 573 阅读 · 0 评论 -
LC-移动零
package leetcode.array;import java.util.Arrays;/** * 2020/9/29 22:24 * num[i] != 0 && count > 0 * num[i-1] = num[i] * num[i] = 0 */public class MoveZeroes { public static void main(String[] args) { int[] nums = {1};原创 2020-09-29 22:37:27 · 294 阅读 · 0 评论 -
LC-存在重复元素
package leetcode.array;import java.util.HashSet;import java.util.Scanner;/** * 2020/9/29 22:12 */public class ContainsDuplicate { public static void main(String[] args) { int[] array = {1,2,3,1}; System.out.println(containsDuplic原创 2020-09-29 22:21:43 · 190 阅读 · 0 评论 -
素数的时间复杂度分析
找出素数的四种方法:复杂度主要区别1. 时间复杂度:O(n2)divisor <= Math.sqrt(number)2. 时间复杂度:O(n√n)divisor <= squareRoot,其中squareRoot2 <number3. 时间复杂度:O(n√n / logn)for (int k=0; k<list.size() && list.get(k) <= squareRoot ;k++){…}4. 时原创 2020-06-01 21:39:10 · 3459 阅读 · 0 评论 -
算法复杂度O(logn)详解
@阅读目录一.O(logn)代码小证明二.典型时间复杂度三.常见的????????????????算法1.对分查找2. 欧几里得算法3.幂运算一.O(logn)代码小证明我们先来看下面一段代码:int cnt = 1;while (cnt < n){ cnt *= 2; //时间复杂度为O(1)的程序步骤序列}由于cnt每次在乘以2之后都会更加逼近n,也就是说,在有x次后,cnt将会大于n从而跳出循环,所以2???? = ???? ,也就是????=????原创 2020-06-01 11:29:57 · 39643 阅读 · 9 评论 -
约瑟夫环问题---不懂,先占个位置
问题描述:省略思路:所以我画线的位置是简化之后的关系式子,那岂不是(m-1) = (m-1)%i???原创 2019-11-19 16:03:52 · 163 阅读 · 0 评论 -
排序算法---时间-空间复杂度和稳定性
平均 最好 最坏 空间 稳定性 基数排序 d(n+r) d(n+r) d(n+r) n+r 稳定 桶排序 n n n 快速排序 n*logn n*logn n**2 n*logn 不稳定 归并排序 n*logn n*logn n*lo...原创 2019-10-16 20:05:32 · 92 阅读 · 0 评论 -
1_合并两个数组
#-*-coding:utf8-*-#@Time: 2019-10-20 18:09#@File: 合并两个有序数组.py#@SoftWare:PyCharm#@Macclass Solution: # def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None: ...原创 2019-10-20 19:03:26 · 158 阅读 · 0 评论 -
2、插入-选择-冒泡-快速-排序
#-*-coding:utf8-*-#@Time: 2019-10-11 14:02#@File: Sort.py#@SoftWare:PyCharm#@Macclass recoder: def __init__(self, key, datum): self.key = key self.datum = datum#插入排序d...原创 2020-02-20 12:41:29 · 128 阅读 · 0 评论 -
3、二叉树
#二叉树的中序遍历#速度可以,但是内存太大,需要优化class Solution: def inorderTraversal(self, root: TreeNode) -> List[int]: if root == None: return [] stack = [] if root.left is no...原创 2020-02-20 12:41:52 · 128 阅读 · 0 评论 -
KMP算法
待匹配表Tabaacababcac最长公共前缀表下表01234pababc前缀表-10012-1最长公共0a转载 2020-02-20 12:41:02 · 135 阅读 · 0 评论 -
八皇后问题
启发式信息的表示。 回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。 用回溯算法解决问题的一般步骤: 1 针对所给问题,定义问题的解空间,它至少包含问题的一个(最优)解。 2 确定易于搜索的解空间结构,使得能用回溯法方便地搜索整个解空间。 3 以深度优先的方式搜索解空间,并且在搜索过程中用剪枝函数避免无效搜索。 回溯算法的基本思想是:从一条路往前走,能进则进...转载 2019-01-02 16:06:19 · 188 阅读 · 0 评论