数据结构和算法
文章平均质量分 62
数据结构和算法
学长抄作业
过去难免有遗憾,现在珍惜机会才最正确
展开
-
KMP算法
#include <stdio.h>#include <string.h>#include <stdlib.h>//应用场景:模糊查询//用kmp算法,检测父串中是否包含子串,包含则返回1,不包含返回0int kmpContains(char *father,char *son) { int length = strlen(son); //prefix是匹配模式数组 int *prefix = (int *)malloc(length*sizeof(in原创 2022-03-08 17:24:00 · 184 阅读 · 2 评论 -
牛客网【SQL语句练习】
文章目录语法修改表名replace 替换字符串round函数(操作小数)语法修改表名alter table titles_test rename as titles_2017replace 替换字符串将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005,其他数据保持不变,使用replace实现,直接使用update会报错。UPDATE titles_testSET emp_no = REPLACE(emp_no, 10001, 10005)WHERE i原创 2021-02-27 09:52:54 · 511 阅读 · 0 评论 -
链表的环问题(借助小学数学来理解)
文章目录一个链表,如何判断他是否有环?怎么找出环的入口节点(黄色节点)?做题之前,牛客网给出了提示:双指针、快慢指针那么大概思路就是2个指针一个快一个慢,如果链表有环,那么2个指针一定会相遇!如果没有环,链表会有末尾 且 快指针将提前走到链表末尾。建立数学模型:如果当两个指针都走进环内...原创 2021-02-21 17:09:00 · 102 阅读 · 1 评论 -
冲算法笔试题!【算法】
文章目录跳台阶【dp】跳台阶【dp】可以采用dp思想:可以采用以下例子,但是会有重复的计算,比如需要重复计算f3的值f5 = f4 + f3= (f4+ f3) + f3=((f3+f2)+f3)+f3… public int JumpFloor(int target) { if(target == 1) { return 1; } if(target == 2){ return 2;原创 2021-02-21 13:19:21 · 511 阅读 · 1 评论 -
冲算法笔试题!【数组】
文章目录最大子数组累加和问题跳台阶【dp】第K大的数最小的K个数排序最大子数组累加和问题分别存储 当前最大值cur和最大值max: public int maxsumofSubarray (int[] arr) { // write code here int max = 0,cur = 0; for(int i= 0; i<arr.length;i++){ cur+=arr[i]; if(cur原创 2021-02-19 11:13:00 · 202 阅读 · 1 评论 -
冲算法笔试题!【树】
文章目录45,二叉树前中后序遍历45,二叉树前中后序遍历import java.util.*;/* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } */public class Solution { /** * * @param root TreeNode类 the root of binary tree原创 2021-02-18 15:01:01 · 304 阅读 · 3 评论 -
冲算法笔试题!【链表】
文章目录4,判断链表是否有环(快慢指针)78,反转链表//相关类public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}4,判断链表是否有环(快慢指针)public class Solution { public boolean hasCycle(ListNode head) { ListNod原创 2021-02-18 13:11:56 · 111 阅读 · 1 评论 -
LeetCode-面试题01.01.判定字符是否唯一(利用ASCLL码解决)
思路:第一反应,就是用Set数据结构,Set的add方法自动为我们去重。代码如下,但是在限制上,如果不使用额外的数据结构可以加分,那么这道面试题还有更优解。//使用setimport java.util.*;class Solution { public boolean isUnique(String astr) { if("".equals(astr)){ return true; } HashS..原创 2021-02-08 16:58:58 · 138 阅读 · 2 评论 -
算法-快速排序(白话经典)
写的非常好的文章,转载自白话经典算法 快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件...转载 2020-04-14 13:43:12 · 191 阅读 · 0 评论 -
算法--希尔排序
希尔排序它的实质是分组插入排序,又称缩小增量排序,它是基于插入排序的思想直接插入排序对于基本有序的数组,且基数N较小的情况下性能最好,希尔排序就是利用直接插入排序的这个特点,将较大的数组拆分为较小的子序列进行。思想先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素...转载 2020-04-14 12:15:33 · 261 阅读 · 0 评论