一、递归 递归就是方法自己调用自己,每次调用时传入不同的变量。有助于编程者解决复杂的问题,同时可以让代码变得简洁。 递归用于解决什么样的问题 各种数学问题如: 8皇后问题,汉诺塔,阶乘问题,迷宫问题,球和篮子的问题(google编程大赛)等。 各种算法中也会使用到递归,比如快排,归并排序,二分查找, ...
分类:
其他好文 时间:
2020-07-03 23:31:26
阅读次数:
76
查找算法之线性查找 class Untitled { public static void main(String[] args) { //线性查找 效率低 需要遍历全部 int[] arr = new int[]{3,4,2,1,5,6}; int target = 1; int index = ...
分类:
编程语言 时间:
2020-07-03 23:06:22
阅读次数:
80
跟风 yuzhechuan 写个题解/kk 根据 yuzhechuan 的题解,这个东西其实就在求 \(f_i=\max\limits_{j=1}^n \{ a_j+\sqrt{|i-j|} \}-a_i\),正反取两边即可,改为求 \(f_i=\max\limits_{j=1}^i \{ a_j+ ...
分类:
其他好文 时间:
2020-07-03 21:46:14
阅读次数:
46
这篇cvpr2019的论文主要提出了一个损失函数Class-Balanced Loss用来处理数据长尾问题 长尾问题是由于分类问题中数据集每类的数据量不同,导致分类准确度下降。举个极端点的例子有助于理解:A、B二分类问题,数据集中,A、B数据量比例为999:1,为了减少损失值,网络很自然的将所有图片 ...
分类:
其他好文 时间:
2020-07-03 19:11:00
阅读次数:
71
题目链接 108. 将有序数组转换为二叉搜索树 思路分析 这个题要求我们将一个升序的数组转变成二叉搜索树,那么其实思路很容易了,就是使用二分的方法,把数组中的中间位置的数据作为当前树的根节点,它的左边的数成为它的左子树,右边的数成为它的右子树。 代码实现 /** * Definition for a ...
分类:
编程语言 时间:
2020-07-03 10:49:38
阅读次数:
53
解题思路: 这道题是要将有序数组转为二叉搜索树,所谓二叉搜索树,是一种始终满足左<根<右(另外一种更直白的解释,二叉搜索树:空树或者二叉树的所有节点比他的左子节点大,比他的右子节点小。)的特性的二叉树,如果将二叉搜索树按中序遍历的话,得到的就是一个有序数组了。那么反过来,我们可以得知,根节点应该是有 ...
分类:
编程语言 时间:
2020-07-03 10:45:13
阅读次数:
60
给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。 请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。 示例: matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15] ], k = 8, 返回 13。 来 ...
分类:
其他好文 时间:
2020-07-02 23:18:13
阅读次数:
76
目的:跟编程纠缠了这么久,今天我想跟排序算法做个了断。 第一种:归并排序 思想: 1) 两个已经排好序的序列,如果要融合那复杂度是多少呢? 很简单 O(n)。例子: 1 3 5 7 9 和 2 4 6 8 10 12原理很简单: 敌不动我不动,谁大谁动(假设按照从大到小的顺序排序的话) 2) 归并排 ...
分类:
编程语言 时间:
2020-07-02 21:49:24
阅读次数:
60
704. 二分查找 Difficulty: 简单 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], targe ...
分类:
其他好文 时间:
2020-07-02 18:22:27
阅读次数:
47
题目描述: 编写一个高效的算法来搜索 m x n矩阵matrix中的一个目标值target。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 方法一:暴力法 没啥说的,直接搜。时间复杂度o(mn) 面试0分 方法二:二分搜索 利用每一行的升序特性,对每一行进行二分搜索。 ...
分类:
其他好文 时间:
2020-07-02 16:10:07
阅读次数:
61