随笔分类 -  牛客编程题

摘要:[编程题]【动态规划】背包问题 参考这个大神讲解的背包问题后自己写的代码,up主讲的太清楚了 题目信息 问题:现有背包。其中有四个商品。价值-体积如下 * 物品编号: 1 2 3 4 * 物品体积: 2 3 4 5 * 物品价值: 3 4 5 6 * 问:如何才能保证在背包容量为8的情况下装的价值最 阅读全文
posted @ 2020-08-11 13:26 北鼻coder 阅读(1762) 评论(1) 推荐(1)
摘要:[编程题] 堆排序(数组与大顶堆的转换过程) 参考这个大神讲解的堆排序,思路清晰 数组和树的关系 题目信息 ​ 如何把数组转换为二叉树呢? 思路 数组对应树的公式: 数组一个节点的左孩子:2*i+1 数组一个节点的右孩子:2*i+2 某节点的父亲节点:(i-1)/2 注意 数组转为大顶堆 思路 思路 阅读全文
posted @ 2020-08-09 14:25 北鼻coder 阅读(1454) 评论(0) 推荐(0)
摘要:[编程题] 荷兰棋问题 题目信息 ​ 要求把数组中的指定起始位置的元素按照比p小的放一边,比p大的放一边,等于p的放中间.返回相同值的索引值 思路 左边用一个指针不断框比p小的,右边一个指针不断框比p大的,然后中间的值不动。 注意 右边的值交换过来的话,是需要重新对这个值进行一次判断的,而不能直接i 阅读全文
posted @ 2020-08-08 22:10 北鼻coder 阅读(203) 评论(0) 推荐(0)
摘要:[编程题] lk 剑指 Offer 29. 顺时针打印矩阵 题目信息 思路 定义上下左右边界,循环打印 注意 如何返回一个空的数组的问题。借助stream把list转一下。 Java代码 import java.util.*; import java.util.stream.*; class Sol 阅读全文
posted @ 2020-08-02 23:40 北鼻coder 阅读(175) 评论(0) 推荐(0)
摘要:[编程题] nk 删除链表中的倒数第n个节点 题目信息 思路 1、删除倒数,那么我们可以先遍历一次链表得到总的节点个数,把删除倒数换算成删除正数的索引。 2、由于节点没有索引,但是我们可以指定一个跟踪索引,比如一开始的cur节点指的是head.next那么我们就记录当前遍历的索引是1,指针后移一次, 阅读全文
posted @ 2020-08-02 17:29 北鼻coder 阅读(157) 评论(0) 推荐(0)
摘要:[编程题] 删除链表中的重复节点 (保留重复节点一次) 题目信息 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->-2>3->4->5 方法 三指针 Java代码 /* public c 阅读全文
posted @ 2020-08-02 16:02 北鼻coder 阅读(429) 评论(0) 推荐(0)
摘要:[编程题] lk 152. 乘积最大子数组-二维动态规划 题目 输入输出 方法1:使用一个二维的dp来表示当前节点的最大值和最小值情况 思想: ​ 每个dp[i]位置用两个维度表示值信息,dp[i][0]表示目前的最大值情况,dp[i][1]表示目前的最小值情况如负数 ​ ① 我们在遍历数组的时候, 阅读全文
posted @ 2020-07-30 19:40 北鼻coder 阅读(249) 评论(0) 推荐(0)
摘要:[编程题] nk 爬楼梯2-大数运算 题目 输入输出 Java代码 方法:动态规划 import java.util.*; import java.math.BigInteger; public class Main{ public static void main(String[] args){ 阅读全文
posted @ 2020-07-30 16:36 北鼻coder 阅读(161) 评论(0) 推荐(0)
摘要:[编程题] 基础 【动态规划】与练习-爬楼梯 知识点 1、基础 2、斐波那契数列例子 普通递归: 递归加记忆化 那么从树的下边往上推的话,顺推上去没救得到了状态转移方法。 案例1:爬楼梯 回溯的方法 回溯的思想是,我们如果是想到达第n台阶f(n)的话,那么就是从f(n-1)跳上来,也可以是从f(n- 阅读全文
posted @ 2020-07-30 16:34 北鼻coder 阅读(540) 评论(0) 推荐(0)
摘要:[编程题] 基础 [位运算基础] 题目知识点 1、概念 2、基础运算符 3、异或性质 & 的使用 阅读全文
posted @ 2020-07-30 16:33 北鼻coder 阅读(125) 评论(0) 推荐(0)
摘要:[编程题] nk:数组中只出现一次的数字 输入输出 无 思路 方法1:借助两个set集合 方法2:借助栈 Java代码(方法1) /*方法1:set集合 拿两个set集合,在遍历的时候如果第一次出现的元素就直接放入set集合,当第二次出现都放在set2中,放完之后从set中排序set2中 含有元素, 阅读全文
posted @ 2020-07-30 00:40 北鼻coder 阅读(171) 评论(0) 推荐(0)
摘要:[编程题] nk:连续子数组的最大和 输入输出 无 思路 方法:动态规划 Java代码 public class Solution { //方法1:动态规划 public int FindGreatestSumOfSubArray1(int[] array) { //[6,-3,-2,7,-15,1 阅读全文
posted @ 2020-07-29 23:34 北鼻coder 阅读(124) 评论(0) 推荐(0)
摘要:[编程题] nk:约瑟夫问题(孩子们的游戏-圈内最终剩余的人的编号) 输入输出 说明: 思路 案例图解:我们以输入n=5,m=3为例: 解释: (一开始自己错的地方是在如下,while退出条件的地方,错写为dummy.next!=head为退出条件,其实我们本质是要检测圈中剩下一个节点,也就是dum 阅读全文
posted @ 2020-07-28 20:21 北鼻coder 阅读(220) 评论(0) 推荐(0)
摘要:[编程题] nk:二叉搜索树的后序遍历 输入输出 无 思路 代码思路: 我们可以采用递归的思想,每次处理本次流程的时候(比如该组元素有n个),拿出最后一个节点当作是root节点,然后,在剩下的n-1 中,确定出前边的左子树部分都比root小,左子树后的右子树部分都比roo大; 比如:一开始调用传入的 阅读全文
posted @ 2020-07-28 15:48 北鼻coder 阅读(151) 评论(0) 推荐(0)
摘要:牛客编程tips(数组、列表、字符串) 一、输入输出一般技巧 1、解决多行的输入输出 描述 Java代码 public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt() 阅读全文
posted @ 2020-07-28 14:10 北鼻coder 阅读(337) 评论(0) 推荐(0)
摘要:[编程题] nk: 矩阵的最小路径和 题目 输入输出 Java代码(动态规划) import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner( 阅读全文
posted @ 2020-07-28 11:48 北鼻coder 阅读(307) 评论(0) 推荐(0)
摘要:[编程题] 递归实现等差数列和阶乘 需求 使用递归实现等差数列 Java代码 package nlikou; /** * @author jiyongjia * @create 2020/7/26 - 18:40 * @descp: */ public class P11_jiecheng { pu 阅读全文
posted @ 2020-07-26 18:56 北鼻coder 阅读(585) 评论(0) 推荐(0)
摘要:[编程题] 基础:如何使用大顶堆和小顶堆找topN 需求 (1)我们如何从一个链表或者数组中,找到第k大的数,或者前k大的数。使用小顶堆。(输出是从小到大排列的前K大的数) (2)我们如何从一个链表或者数组中,找到第k小的数,或者前k小的数(输出的堆是堆顶最大,其他不是序列顺序),使用大顶堆。 小顶 阅读全文
posted @ 2020-07-26 12:23 北鼻coder 阅读(1261) 评论(0) 推荐(0)
摘要:[编程题] lc:剑指 Offer 54. 二叉搜索树的第k大节点 [编程题] JZ:剑指 Offer 62. 二叉搜索树的第k小节点 <1>题目1 描述: 输入输出 思路 根据二叉搜索树的特点: 根据二叉搜索树的特点,中序遍历是从小到大排序,求第k小恰好是第k个节点,我们按照左 根 右 搜索。(搜 阅读全文
posted @ 2020-07-26 10:29 北鼻coder 阅读(183) 评论(0) 推荐(0)
摘要:[编程题] JZ65 矩阵中的路径 题目描述 输入输出案例 参考 参考 思路 使用回溯、递归、枚举的思想 代码 class Solution { public boolean exist(char[][] board, String word) { //用于标记是否已经被访问的二维数组 boolea 阅读全文
posted @ 2020-07-25 22:20 北鼻coder 阅读(203) 评论(0) 推荐(0)