算法基础
文章平均质量分 53
超级赛亚人 -悟空
落子无悔,皆是定局。
展开
-
简单算法带来的思考
简单算法的深思旋转字符串这是前几天的里扣的每日一题,思路:题目中描述 要保证在相对顺序之下的 两个字符串相等 这里提供两种思路:罗列出所有的逻辑顺序本身来说要保证 目标字符串Goal 的逻辑顺序 时 模板字符串 s 通过 挪移获得的,我们这里自然而然的想到 KMP算法。但是相对来说 这种解法并不怎么讨喜, 我们可以通过将两个模板字符串相拼来获得将会出现的所有逻辑顺序。class Solution { public boolean rotateString(String s, Stri原创 2022-04-09 09:46:48 · 103 阅读 · 0 评论 -
力扣打卡(17):一直走,直到灯火通明。。
10.16 10.17lc:学渣综合征: 一道星期天 就像躺平。。。。。刷了几道题: 主要回顾 排序38. 外观数列 - 力扣(LeetCode) (leetcode-cn.com):外观数列 : 思路:就是对前一个数列: 进行总结: 相同跳过相加,不同class Solution { public String countAndSay(int n) { String str = "1"; // 模拟的过程 所谓的 外观数列 其实就是 对上一个 字符串原创 2021-10-17 19:37:22 · 139 阅读 · 0 评论 -
力扣打卡(16):回溯算法:心静下来刷题。静心方可成事
10.13lc今日看了《图解网络》的 tcp 比较深奥 没有看完。。。。刷了几道题。412. Fizz Buzz - 力扣(LeetCode) (leetcode-cn.com)每日易题:没有什么难度class Solution { public List<String> fizzBuzz(int n) { List<String> list = new ArrayList<>(); for (int a = 1; a &l原创 2021-10-13 19:53:33 · 138 阅读 · 0 评论 -
力扣打卡(15):上学的时间过的真快,找不到时间刷题.。。。
10.12lc开学的这两天 是真的瞎忙。。。 刷题明显没时间了 可恶吖~29. 两数相除 - 力扣(LeetCode) (leetcode-cn.com):思路 除法的本质: 就是减法 : 这题要使用位运算~class Solution { public int divide(int dividend, int divisor) { //超时 if(dividend == 1<< 31 && divisor == -1 ) retu原创 2021-10-12 20:57:42 · 64 阅读 · 0 评论 -
力扣打卡(14) 终于开学了~~
10.9lc今天一天都在准备开学的事情。。所以刷题还是耽误了呢。(又拖了一天~~)简单的做了每日一题。就是个暴力破解 :检测核酸排队的时候写了一道 简单的352. 将数据流变为多个不相交区间 题解 - 力扣(LeetCode) (leetcode-cn.com):今日的每日一题的思路讲解: 再次吐槽一下:力扣的机器翻译。。。。。说白了就是找 不连续的区间问题:class SummaryRanges { List<Integer> list; public Summar原创 2021-10-09 18:53:15 · 65 阅读 · 0 评论 -
力扣打卡(12):逐渐开始摸鱼~~ 不能这么颓废了>_<!!
10.8lc今天复习了MySQL的基础架构 ,并总结了文章:MySQL学习笔记今天依旧是 每日抑题。。。。 看了两道剑指 offer的题:187. 重复的DNA序列 - 力扣(LeetCode) (leetcode-cn.com)ps:题目机器翻译属实 迷人。。。。意思就是:找到一个字符串里面 是数量为10且且重复出现的 子字符串 class Solution { static final int l =10; public List<String> findRe原创 2021-10-08 20:29:37 · 62 阅读 · 0 评论 -
力扣打卡(12) :差点摸鱼了... 力扣每日水题
### 10.6 10.7lc罪恶 罪恶 摸鱼了两天。一直在看juc的lock 的源码和aqs框架~~忘了刷了 就写了力扣的每日易题414. 第三大的数 - 力扣(LeetCode) (leetcode-cn.com)方法很多 :可以排序 再找可以用 treeSet来满足要求可以线性遍历class Solution { public int thirdMax(int[] nums) { // long 是个坑。。。。。。 long m原创 2021-10-07 20:35:23 · 130 阅读 · 0 评论 -
力扣打卡(11):二分:是一门很深的学问~不像理解的那么简单:玄学二分法
10.5lc昨天写完题: 已经很晚了 忘了总结。。。早上起来补上:吐槽 看了 《高性能的MySQL》 属实脑子正迷了。。。 还是 crud快乐20. 有效的括号 - 力扣(LeetCode) (leetcode-cn.com):很经典的一道题: 利用栈的属性如果 是 左边符号 压入栈 。 右边符号的与栈顶的元素进行比较class Solution { public boolean isValid(String s) { Stack<Character&g原创 2021-10-06 08:46:30 · 68 阅读 · 0 评论 -
力扣打卡(10):国庆躺平乐~~~ 写个每日抑题
10.4lc今天是躺平的一天~~~在游乐园玩了一天~~玩了一天 写了个每日一题: 看了几个二分482. 密钥格式化 - 力扣(LeetCode) (leetcode-cn.com)class Solution { public String licenseKeyFormatting(String s, int k) { StringBuffer sb = new StringBuffer(s.replaceAll("-", "").toUpperCase()); //从原创 2021-10-04 20:00:22 · 246 阅读 · 0 评论 -
力扣打卡(9):国庆第三天:排序要理解思想~ 不要胡思乱想··~~~
10.3lc今天又是躺平的一天 。国庆真是个结婚的好日子~~~ 我爸同事天天婚宴…写了每日易题: 和几道排序 简单的回归一个 八大排序:个人感觉:其实 主要的 插入 堆 快排 基数 希尔。快排的复杂度:和分区点 有着很大的关系 建议最好还是 随计选择先回顾一哈排序a八大排序1.冒泡排序思想:依次进行比较,选择最大的从后往前排,知道比较 arr.length-1次;public static void bublerSorted(int[] arr){ //领时交换原创 2021-10-03 19:41:04 · 88 阅读 · 0 评论 -
力扣打卡(8)位运算:秃他 就让他刷位运算:谁刷谁知道~
10.2lc刷了一下午的 位运算… 共有13道题…脑袋秃了…吐槽一哈: 真的 有的位运算 方法 真的有人能想出来?? 反正我是毫无头绪 ,全部暴力来做的… 太菜了不过 写位运算 可以帮助我们 理解计算机的运算过程。(ps: 反正都是 API调用师…)位运算的基本概念原码反码补码有符号数无符号数左移 右移 1<< >>1异或: 这是个 好东西 简单记忆: 1^0 =1;405. 数字转换为十六进制数 - 力扣(LeetCode)原创 2021-10-02 17:46:18 · 65 阅读 · 0 评论 -
力扣打卡(7) 国庆第一天の快乐:简单数学思想~
10.1lc国庆第一天 ,直接堵死在高速…今天没有刷新题,简单回顾以下原来的 位运算。位运算: 主要的考点就是 ^ 、 & 的关系。涉及到数的基础运算的 都可以试试位运算 来提高效率136. 只出现一次的数字 - 力扣(LeetCode) (leetcode-cn.com): ^ 根据异或法则来说。 相同为0 所以最后剩的就是 出现一次的数字class Solution { public int singleNumber(int[] nums) {原创 2021-10-01 19:35:50 · 91 阅读 · 0 评论 -
力扣打卡(5):国庆快乐~~ 又是偷懒的一天。
9.30lc随机刷题的一天 国庆放假了 想出去玩…所以就写了,每日一题 … 偷懒了223. 矩形面积 - 力扣(LeetCode) (leetcode-cn.com):没什么算法 就是 找值 class Solution { public int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) { int area1=(ax原创 2021-09-30 20:28:29 · 69 阅读 · 0 评论 -
力扣打卡(5) 二分思想:看似容易写时难... 边界控制不能少
9.29lc本来想着继续刷递归 和 回溯呢: 谁知 被 二分查找吸引简单介绍 二分: 一个有序的数组 找寻一个数字的方法时间复杂度 log n: 优于普通的直接遍历区别于 双指针:35. 搜索插入位置 - 力扣(LeetCode) (leetcode-cn.com)class Solution { public int searchInsert(int[] nums, int target) { int left = 0, right = nums.length - 1;原创 2021-09-29 20:05:55 · 61 阅读 · 0 评论 -
力扣打卡(4):初遇回溯....菜的让人心疼的我举步维艰
9.28lc:今日首次接触 回溯算法的初次理解: 所谓的回溯 本质依然是 暴力破解: 只不过是在原有递归的基础上,进行了 往回倒转的操作 来达到目的!常见的算法题型: 组合 排列 棋盘 数独 等今日总结: 5道题 写了 3个小时… 越写越难受。还是太菜了 >~<…77. 组合 - 力扣(LeetCode) (leetcode-cn.com):常见的模板:将原有的组合问题 转换转换成了 “多叉树”来解决~:使用 for 循环 表示 横向的使用 递归 表示原创 2021-09-28 22:09:33 · 55 阅读 · 0 评论 -
力扣打卡(1):每日亿题:初遇动态规划。
9.25lc今日随计刷题:每日抑题~~~~动态规划 : 空间换时间思考步骤1.dp数组 以及下标的含义2.递归公式3.dp数组进行初始化4.遍历顺序5.是在不对 打印数组进行观察、1143. 最长公共子序列 - 力扣(LeetCode) (leetcode-cn.com)首先,区分两个概念:子序列可以是不连续的;子数组(子字符串)需要是连续的;另外,动态规划也是有套路的:单个数组或者字符串要用动态规划时,可以把动态规划 dp[i] 定义为 nums[0:i] 中想要求的结果;原创 2021-09-25 18:09:39 · 72 阅读 · 0 评论