上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 30 下一页

2019年5月27日

[剑指Offer]对称的二叉树

摘要: 题目链接 https://www.nowcoder.com/questionTerminal/ff05d44dfdb04e1d83bdbdab320efbcb 题目 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 题解 关键是设计函数的 阅读全文

posted @ 2019-05-27 22:45 coding_gaga 阅读(135) 评论(0) 推荐(0)

2019年5月26日

[POJ3253]Fence Repair(单调队列)

摘要: 题目链接 http://poj.org/problem?id=3253 题目描述 大意:切长度为a的木条的花费是a,给定最终切好的n段各自的长度,问由原来的一根木条(长度为n段长度和)以最终总花费最小的方法切这n 1下,输出最小花费。(切的中间过程产生的子段不同,所以花费会不同) 例子: 输入: 3 阅读全文

posted @ 2019-05-26 22:37 coding_gaga 阅读(110) 评论(0) 推荐(0)

2019年5月25日

[剑指Offer]从尾到头打印链表

摘要: 题目链接 https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035?tpId=13&tqId=11156&tPage=1&rp=1&ru=/ta/coding interviews&qru=/ta/coding interv 阅读全文

posted @ 2019-05-25 23:44 coding_gaga 阅读(103) 评论(0) 推荐(0)

[补题]匹配%#,%#之间的字符串重复%前的num遍

摘要: 题目 匹配% ,% 之间的字符串重复%前的num遍。 样例1: 3%acm 2%acm 输出: acmacmacmacmacm 样例2: 3%2%acm 输出: acmacmacmacmacm 题解 两个栈实现。 算是做出来,只是bug差一点调完。 主要还是要熟悉java栈的使用。 代码 阅读全文

posted @ 2019-05-25 22:45 coding_gaga 阅读(1178) 评论(0) 推荐(0)

2019年5月24日

[程序员代码面试指南]数组和矩阵-数组的partition调整

摘要: 题目 补充问题:数组只含0,1,2,对数组排序,要求时间复杂度O(n),额外空间复杂度O(1) 题解 维护三个变量,l,idx,r。左区间[0,l],中间区间[l+1,idx],右区间[idx+1,r]。 初始化l= 1,r=len,idx=0。idx用来遍历数组。 当arr[idx]=1,idx+ 阅读全文

posted @ 2019-05-24 00:00 coding_gaga 阅读(174) 评论(0) 推荐(0)

2019年5月23日

[程序员代码面试指南]数组和矩阵-在数组中找到一个局部最小的位置(二分)

摘要: 题目描述 定义局部最小的概念。arr长度为1时,arr[0]是局部最小。arr的长度为N(N 1)时,如果arr[0]arr[mid 1],那么区间缩小为[l,mid 1]; (因为不满足上一条,试着画一画,可判定新的区间有局部最小) 如果不满足上一条,且arr[mid]mid 1) { r=mid 阅读全文

posted @ 2019-05-23 22:37 coding_gaga 阅读(176) 评论(0) 推荐(0)

2019年5月22日

[程序员代码面试指南]数组和矩阵问题-数组中子数组的最大累乘积

摘要: 问题描述 给定数组,输出所有子数组的累积的最大值。 题解 以arr[i]结尾的最大累乘积=max{max arr[i],min arr[i],arr[i]},其中max、mini表示以arr[i 1]结尾的最大累乘积、最小累乘积。 最后再取一个最大值即可。 时间复杂度O(n) 代码 阅读全文

posted @ 2019-05-22 23:30 coding_gaga 阅读(128) 评论(0) 推荐(0)

[算法题]最小m划分(划分DP)

摘要: 题目描述 给定 n 个整数组成的序列,将序列分割为 m 段,如何分割才能使这 m 段子序列的和的最大值达到最小? 题解 状态表示 dp[i][j]表示前i个元素划分j段 子序列和的最大值的最小值 状态转移 dp[i][j]=min{dp[i][j], max{dp[k][j 1],dp[i][1] 阅读全文

posted @ 2019-05-22 22:50 coding_gaga 阅读(409) 评论(0) 推荐(0)

2019年5月21日

[程序员代码面试指南]第9章-在两个长度相等的排序数组中找到第k小的数(二分)

摘要: ###题目 给定两个有序数组arr1和arr2,再给定一个整数k,返回所有的数中第k小的数。 ###题解 利用题目"在两个长度相等的排序数组中找到第上中位数"的函数 分类讨论 k < 1 || k > lenShort + lenLong,无。 k ⇐ lenShort,在两个数组前k个做二分。 k 阅读全文

posted @ 2019-05-21 21:55 coding_gaga 阅读(152) 评论(0) 推荐(0)

[程序员代码面试指南]第9章-在两个长度相等的排序数组中找到上中位数(二分)

摘要: 题目描述 给定两个有序(升序)数组arr1和arr2,已知两个数组的长度都为N,求两个数组中所有数的上中位数。 根据例子,上中位数指若有两个中位数,则较小的那一个是上中位数。 题解 分类讨论。结合使用二分,两个数组分别维护l、r、mid指针。 arr1[mid1]=arr2[mid2],直接返回结果 阅读全文

posted @ 2019-05-21 21:48 coding_gaga 阅读(146) 评论(0) 推荐(0)

上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 30 下一页

导航