![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
HBpencil
鉴于CSDN的浏览体验之差,本博客已经停用。
https://hb-pencil.github.io/
展开
-
基础算法记录(二)——部分常见算法问题
买卖股票的最佳时机 II 假设有一个数组,它的第 i 个元素是一个给定的股票在第 i 天的价格。设计一个算法来找到最大的利润。你可以完成尽可能多的交易(多次买卖股票)。然而,你不能同时参与多个交易(你必须在再次购买前出售股票)。 思路:可以采用贪心法,只要明天的价格高于今天,那么就今天买入,明天卖出,否则今天就不买入。然后继续看后天和明天的情况,以此类推 class Solution {...原创 2018-03-26 22:20:54 · 147 阅读 · 0 评论 -
基础算法(一)——八大排序算法实现Kotlin
/** *前面七大排序为Kotlin,基数排序为java,在最后面 */ fun main(array: Array<String>){ val a = intArrayOf(2,5,3,7,9,8,1,6,4) println("插入排序:") insertSort(a).forEach {原创 2018-03-27 20:59:34 · 439 阅读 · 2 评论 -
基础算法(三)——二分查找和其他部分常见算法题
基础算法三(二分查找和其他部分常见算法题) 二分查找的递归和迭代 import java.util.Scanner; /** * 二分查找的递归和迭代,尤其要注意数组越界问题,当数组长度为[1,2]=2时,start=end * 如果此时 目标查找数 n<array[mid=0]时,那么此时出现start=0,end=-1,继续递归的化 ...原创 2018-04-03 12:44:28 · 205 阅读 · 0 评论 -
基础算法记录(四)
基础算法记录四 字符串单词和标点符号顺序提取,禁止用split 例如 输入:{“Oh, a good day!”} 输出:{“Oh”, “,”, “good”, “day”, “!”} 这是今天网易有道二面面试手撕代码的题,题是不难,注意的是细节,当时在纸上写出bug来了,用的时间也不是满意,总之应该是凉了,自己手撕代码的能力确实该提高。题目思路就是遍历字符,记录按条件截取字符串,注意...原创 2018-04-16 22:14:00 · 122 阅读 · 0 评论 -
常见算法题(五)——剑指offer
剑指offer部分笔试题 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 如果不要求顺序,那么可以使用从两边开始的双指针,向中间夹,然后交换两数;本题要求原来的顺序,那么思路就是找到第一个奇数,拿出来,把前面所有数后移一位,当然注意边界,利用一个indexl=-1来...原创 2018-04-22 17:11:15 · 194 阅读 · 0 评论 -
由一道算法题引发的思考,使用bitmap进行数据处理
由一道算法题引发的思考,使用bitmap进行数据处理 题目 判断数组输入的五个数(取值1~13)是否是连续的,可以输入0,最多有4个,其中0可以代表任意数字,比如13450 可以 是12345 思路:其实里面的规律是,数组5个数里面除了0外max-min<5,除了0以外其他数不能重复,所以主要判断除了0以外重复问题 使用HashSet 使用数组进行hash 这也是最为巧妙的一种...原创 2018-05-07 22:14:47 · 146 阅读 · 0 评论 -
Https与Http区别浅析
Https与Http区别 Http http协议比较简单,也是不安全的。http的连接过程一般是建立与服务端80端口的TCP连接,三次握手结束之后便可以传输数据,http1.0是短连接,每次都要关闭连接,http 1.0是长连接,超时服务端关闭连接。由于http是明文传输,如果加密也只能在应用层上面加密。 https则是安全的,过程也比http要复杂一些。但简单来说,https只是htt...原创 2018-06-29 21:31:59 · 517 阅读 · 0 评论 -
背包问题之回溯和动态规划
2018/10/9美团笔试编程第一题(Android) 题意大概是:输入n表示有n份菜,输入X表示优惠券满X减10,接下来n个数表示每份菜的价格,每份菜最多点一份。求使用优惠券的最少金额。 这是一道很有意思的题目,其实0-1背包问题的变体,关于0-1背包问题,我也只懂回溯法和动态规划。在此再复习一下。 背包问题:背包最大可装物品重量总共为w,每件物品为w[i],价值为v[i],求容量内可装最大价值...原创 2018-10-10 00:10:45 · 1034 阅读 · 1 评论