240 发简信
IP属地:上海
  • 每天一道算法题20

    请实现如下结构:TopRecord {public TopRecord(int K); 构造时事先指定好K的大小,构造好就固定不动public void add(String...

  • 每天一道算法题19

    给定一个由字符串组成的数组String[] strs, 给定一个正数K,返回词频最大的前K个字符串,假设答案是唯一的 解答:构建一个小跟堆,大小就是K。比如当前词频为a 1b...

  • 每天一道算法题18

    【最长公共子序列,子串】给定两个字符串上str1 和 str2, 求两个字符的最长公共子序列和最长公共子串。 最长公共子序列 最长公共子串最长公共子串相对最长公共子序列更简单...

  • 每天一道算法题17

    每种工作有难度和报酬,规定如下:class Job {public int money;public int hard;} 给定一个Job类型的数据jobarr,表示所有岗位...

  • 每天一道算法题14

    如果给你一个二维数组,每一个值表示这一块地形的高度,求整块地形能装下多少水。 解答:这个问题用小根堆解决,先把最外围的一圈入小根堆,然后弹出最小的,将max赋值为它,然后找到...

  • 每天一道算法题16

    长度为N的数组arr,一定可以组成N^2个数值对,例如arr=[3,1,2];数值对有(3,3),(3,1),(3,2),(1,3),(1,1),(1,2),(2,3),(2...

  • 每天一道算法题15

    给定一个有序数组arr,给定一个正数aim,1)返回累加和为aim,所有不同二元组2)返回累加和为aim,所有不同三元组 解答1: 因为arr是一个有序数组,所以这里可以用双...

  • 每天一道算法题13

    【装水】给定一个数组arr, 已知其中所有的值都是非负的,将这个数组看作一个容器,请返回容器能装多少水?比如:arr={3,1,2,5,2,4},根据画出的直方图就是容器形状...

  • 每天一道算法题12

    给定一个数组arr,长度为N,你可以把任意长度大于0且小于N的前缀作为左部分,剩下的作为右部分。但是每种划分下都有左部分的最大值和右部分的最大值,请返回最大的,左部分最大值减...

  • 每天一道算法题11

    【机器打包问题】有n个打包机器从左到右一字排开,上方有一个自动装置会抓取一批放物品到每个打包机上,放到每个机器上的这些物品数量有多有少,由于物品数量不相同,需要工人将每个机器...

  • 每天一道算法题10

    【二维有序数组找num】在行也有序,列也有序的二维数组中,找num,找到返回true,否则返回false。解答:这道题的关键是二维数组行也有序,列也有序,那么可以从右上角或者...

  • 每天一道算法题9

    【最大路径和】给定一个二叉树的头节点head,路径的规定有以下三种不同的规定:1) 路径必须是头节点出发,到叶节点结束,返回最大路径和2) 路径可以从任意节点出发,但必须往下...

  • 每天一道算法题8

    【预处理数组-RRRGGG】有一些排成一行的正方形,每个正方形已经被染成红色或者绿色,现在可以选择任意一个正方形然后用这两种颜色的任意一种进染色。这个正方形的颜色将会被覆盖,...

  • 每天一道算法题7

    【分治法 a + c != 2*b】给定一个正整数M,请构造出一个长度为M的数组arr,要求对任意的i,j,k三个位置,如果i < j < k, 都有arr[i] + arr...

  • 每天一道算法题6

    【预处理数组-最大正方形的边长】给定一个NN的矩阵matrix,只有0和1两种值,返回边框全是1的最大正方形的边长长度。例如0 1 1 1 10 1 0 0 10 1 0 0...

  • 每天一道算法题5

    【动态规划-有效子串长度】括号有效配对是指:1) 任何一个左括号都能找到和其正确配对的右括号2)任何一个右括号都能找到和其正确配对的左括号返回一个括号字符串中,最长的括号有效...

  • 每天一道算法题4

    【括号有效配对】括号有效配对是指:1) 任何一个左括号都能找到和其正确配对的右括号2)任何一个右括号都能找到和其正确配对的左括号有效的:(()) ()() (()()) 等无...

  • 每天一道算法题3

    【窗口移动】给定一个有序数组arr, 从左到右依次表示X轴上从左往右点的位置,给定一个正整数L,返回如果有一根长度为L的绳子,最多能盖住几个点绳子的边缘点碰到X轴上的点,也算...

  • 每天一道算法题2

    【荷兰国旗问题】给定一个数组arr,和一个数num,请把小于num的数放在数组的左边,等于num的数放在数组的中间,大于num的数放在数组的右边,请返回小于num的最右下标和...

  • 二叉树遍历

    请递归,非递归方式分别前序遍历,中序遍历,后续遍历二叉树