算法
蜗牛乌龟一起走
程序和女朋友有一个能跑就行了
展开
-
算法题-爬楼梯-不同思路解法
主要记录个人思考过程,不同方案实现思路的演变。原创 2024-01-18 21:52:13 · 521 阅读 · 0 评论 -
两种算法实现树形fullPath设置
当我业务有树形数据结构时候,我们通常设计会预留一个字段叫fullPath. 这个字段保留的是本节点到一级节点路径一般取id + “/”。比如 id = 1,parentId = 0,fullpath=1;id=2,parentId=1,fullpath=1/2,id=3,parentId=2,fullpath=1/2/3,之所以设置fullPah 他可以获取快速的获取上级任意节点以及层级,或者在获取断层树形中也有意义。重点来了今天分享这个适合没有设置过fullPath。原创 2023-05-21 20:38:24 · 376 阅读 · 2 评论 -
基本计算器算法实现
所有中间结果将在 [-231, 231 - 1] 的范围内。注意:不允许使用任何将字符串作为数学表达式计算的内置函数,比如 eval()。注意:不允许使用任何将字符串作为数学表达式计算的内置函数,比如 eval()。给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。输入:s = “(1+(4+5+2)-3)+(6+8)” 输出:23。输入:s = " 3+5 / 2 " 输出:5。整数除法仅保留整数部分。原创 2023-01-30 22:33:37 · 1045 阅读 · 0 评论 -
面试开课吧合并区间算法
题目定义一个表示起止属性的类public class Interval { int start; int end; public int getStart() { return start; } public void setStart(int start) { this.start = start; } public int getEnd() { return end; }原创 2022-04-26 23:38:06 · 548 阅读 · 3 评论 -
解决下载直接打开问题
下载也是老生常谈的话题 有时候我们下载的比如pdf 直接打开,或者下载的ofd 是一个压缩包。今天正对这个问题 有一种情况会导致这种情况。直接打开的伪代码 StringBuilder fileName = new StringBuilder();//模拟文件名称 fileName.append(queryByInvoiceId.getInvoiceCode()).append("_").append(queryByInvoiceId.getInvoiceNum()).append(suf.原创 2020-08-30 23:45:01 · 436 阅读 · 0 评论 -
java面试笔试知识点
反射改变变量值package com.drj.demo.reflection;import java.lang.reflect.Field;import java.math.BigDecimal;/** * * @ClassName: Demo * @Description:TODO(反射改变变量值) * @author: drj * @date: 2019年4月24日 下...原创 2019-04-24 21:04:47 · 138 阅读 · 0 评论 -
算法题_有效括号简单易懂解法
题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。示例 1:输入:s = “()” 输出:true 示例 2:输入:s = “()[]{}” 输出:true 示例 3:输入:s = “(]” 输出:false 示例 4:输入:s = “([)]” 输出:false 示例 5:输入:s = “{[]}” 输出:true提示:1 <= s.leng原创 2021-11-07 12:05:13 · 253 阅读 · 0 评论 -
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度
题目给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2:输入: s = “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3:输入: s = “pwwkew” 输出: 3 解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是原创 2021-10-12 23:46:58 · 10383 阅读 · 0 评论 -
树形结构在Mysql 相关业务查询
前言平常我们在开发难免会遇到树形结构的表结构,今天我们针对树形结构在Mysql 中两个查询需求做个总结,以及查询sql 具体分析简单树形建表CREATE TABLE `tb_tree` ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT, `code_num` BIGINT(20) DEFAULT NULL, `parent_code_num` BIGINT(20) DEFAULT NULL, `code_name` VARCHAR(20) DEFA原创 2021-07-18 16:58:21 · 501 阅读 · 0 评论 -
面试国美算法题
题目一个含有多个空格的ASCII串,求最长非空格字符串的长度,尽可能最优。例如,输入:“aa bc aaaa aaa”,输出:4;分析首先可能想到就是直接遍历一个一个字符相同的累加 等到不同了再将统计的次数count放到maxLength 下次不同在count和maxLength做比较将最大的赋值到maxLength。但是这样复杂度是相对较高他需要所有遍历才可以得出最后结果前提条件是含有多个空格的ASCll串所以首先想到的是可以通过空格分隔成字符数组,然后写个字符串排序器按照字符长.原创 2021-03-13 23:37:36 · 361 阅读 · 0 评论 -
百度算法面试题之二叉树坡度(二)
二叉树坡度定义给定一个二叉树,计算 整个树 的坡度 。一个树的 节点的坡度 定义即为,该节点左子树的节点之和和右子树节点之和的 差的绝对值 。如果没有左子树的话,左子树的节点之和为 0;没有右子树的话也是一样。空结点的坡度是 0 。 整个树 的坡度就是其所有节点的坡度之和。 来源:力扣(LeetCode) 链接:lecode举例按照如图分析:节点 2 的坡度:|0-0| = 0(没有子节点)节点 5 的坡度:|0-0| = 0(没有子节点)节点 15 的坡度:|0-0| = 0(.原创 2021-03-07 22:05:10 · 180 阅读 · 2 评论 -
百度算法面试题(一)
废话不多说 该题是在百度面试中需要手动写代码实现一个包含容器、排序、字符、遍历为考查点一道题(lecode 也有)题目要求/**** 根据字符出现频率排序* 给定一个字符串,请将字符串里的字符按照出现的频率降序排列。** 示例 1:** 输入:* “tree”** 输出:* “eert”** 解释:* 'e’出现两次,'r’和’t’都只出现一次。* 因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。* 示例 2:** 输入:* “.原创 2021-03-07 19:58:09 · 1172 阅读 · 2 评论 -
二分查找算法
查找原理二分查找又称折半查找,只适用于有序数组。二分查找原理很简单,针对有序数组的查找效率也很高。具体原理为,每次拿目标数值(以下用value表示)与数组中间位置的数据(以下用arry[mid]表示,mid表示数组中间位置索引值)进行比较,如果value大于arry[mid],继续将value与大于arry[mid]部分的中间位置的值进行比较;如果value小于arry[mid],继续将value与小于arry[mid]部分的中间位置值进行比较。源码实现package org.cloud_.原创 2021-02-28 22:27:12 · 190 阅读 · 2 评论 -
笔试题-求两数之和
题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807编码解答(递归实现)package com.zho.原创 2020-11-29 20:48:31 · 253 阅读 · 0 评论 -
笔试题-数字字符串转ip地址
题目描述现在有一个只包含数字的字符串,将该字符串转化成IP地址的形式,返回所有可能的情况。例如:给出的字符串为"25525522135",返回[“255.255.22.135”, “255.255.221.35”]. (顺序没有关系)示例输入"25525522135"返回 [“255.255.22.135”,“255.255.221.35”]思考我们知道IP地址分为四个小段,每一小段都是在0~255这个区间内第一小段不能为0。这个就是合法IP 的规则 根据规则我们就可以来判断如何进行。原创 2020-10-31 23:40:58 · 1022 阅读 · 0 评论 -
Java 实现五子棋简单游戏
简单五子棋实现基本思路:、编写需要公共静态变量的接口类/** * * @ClassName: Goconfig * @Description:TODO(公用的变量) * @author: drj * @date: 2018年9月8日 下午7:49:11 * * @Copyright: 2018 * */ public interfa...原创 2018-09-08 23:26:58 · 1082 阅读 · 0 评论 -
Java 实现二叉树插入和遍历
定义节点类package com.drj.tree; /** * * @ClassName: TreeNode * @Description:TODO(代表树节点) * @author: drj * @date: 2018年8月22日 下午9:32:13 * * @Copyright: 2018 * */ public class TreeNo...原创 2018-08-23 00:02:49 · 7196 阅读 · 5 评论 -
AES加密算法工具类
AES属于对称加密算法,我们在开发api接口需要签名校验常常使用就是AES算法。说简单点就是通过算法以及你的参数得出你的sign 然后传到服务端,再根据你的参数生成一个sign 和你的sign 做比较。相等说明参数没问题。不想等校验失败。下面就将我自己的一个常用的一个AES加密算法工具类记录。package com.netease.is.nc.sdk.utils;import java.io....原创 2018-06-07 21:05:30 · 870 阅读 · 0 评论