算法
楼边斜月为明
学习记录,出错之处,还望指出
展开
-
剑指 Offer II 029. 排序的循环链表
算法原创 2022-06-14 17:20:33 · 236 阅读 · 0 评论 -
分治思想
https://leetcode-cn.com/problems/binode-lcci/二叉树数据结构TreeNode可用来表示单向链表(其中left置空,right为下一个链表节点)。实现一个方法,把二叉搜索树转换为单向链表,要求依然符合二叉搜索树的性质,转换操作应是原址的,也就是在原始的二叉搜索树上直接修改。返回转换后的单向链表的头节点。// 分治思想class Solution { public static List<TreeNode> list; pub原创 2020-07-20 22:54:01 · 115 阅读 · 0 评论 -
重建二叉树
//https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof///重建二叉树//前序:root+左+右 // 每一个左右子树都满足root+左+右这个性质//中序: 左+root+右 // 每一个每一个左右子树都满足左+root+右这个性质/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode原创 2020-07-20 22:18:04 · 176 阅读 · 0 评论 -
dp
给你两个数组 nums1 和 nums2 。请你返回 nums1 和 nums2 中两个长度相同的 非空 子序列的最大点积。数组的非空子序列是通过删除原数组中某些元素(可能一个也不删除)后剩余数字组成的序列,但不能改变数字间相对顺序。比方说,[2,3,5] 是 [1,2,3,4,5] 的一个子序列而 [1,5,3] 不是。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/max-dot-product-of-two-subsequences原创 2020-05-26 21:50:04 · 131 阅读 · 0 评论 -
滑动窗口
给你字符串 s 和整数 k 。请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。英文中的 元音字母 为(a, e, i, o, u)。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-number-of-vowels-in-a-substring-of-given-length著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。class Solution { public int原创 2020-05-25 22:10:55 · 167 阅读 · 0 评论 -
leet-code 刷题图类算法建立图
https://leetcode-cn.com/problems/check-if-there-is-a-valid-path-in-a-grid/这种题目不能建立成邻接举证啥的,明显和路径相关class Solution { private static int[][] shangxiazuoyou = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}}; ...原创 2020-03-22 18:13:58 · 306 阅读 · 0 评论 -
给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种?
class Solution { public int numTrees(int n) { return buildTree(0, n - 1); } private int buildTree(int start, int end) { if (start > end) { return 1; ...原创 2020-03-22 16:39:28 · 1454 阅读 · 0 评论 -
平衡二叉树
给你一棵二叉搜索树,请你返回一棵 平衡后 的二叉搜索树,新生成的树应该与原来的树有着相同的节点值。如果一棵二叉搜索树中,每个节点的两棵子树高度差不超过 1 ,我们就称这棵二叉搜索树是 平衡的 。如果有多种构造方法,请你返回任意一种。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/balance-a-binary-search-tree...原创 2020-03-15 22:16:05 · 133 阅读 · 0 评论 -
百度笔试
//三等分三个连,这个条件没看到。。。(细心啊)f[n]=f[n-1]+max(a[i],b[i],(float)(a[i]+b[i])/2);//f[n]表示前n个人的最大值//正确解(没验证过):import java.math.RoundingMode;import java.text.DecimalFormat;import java.util.Scanner;pu...原创 2018-09-15 23:14:03 · 437 阅读 · 0 评论 -
爱奇艺第一题幸运id
//题目://输入一个6位数字的字符串,幸运数字串要求前三位之和等于后三位数字之和//,求让这个字符串变为幸运字符串的最小操作次数。//AC73%的思想是:多次修改字符串之和较小的三位数字来让其和较大的相等。//漏解:比如888999最少修改次数是1,不是3,可以直接将其变成888996而不是999999。988025 应该为2 ,不是3,把9改成0,把0改成9//启发:每次选择让...原创 2018-09-15 16:47:39 · 370 阅读 · 0 评论 -
322. Coin Change(背包)
You are given coins of different denominations and a total amount of money amount. Write a function to compute the fewest number of coins that you need to make up that amount. If that amount of money ...原创 2018-09-06 12:01:53 · 256 阅读 · 0 评论 -
反转链表
public class Solution { public ListNode ReverseList(ListNode head) { if(head==null) { return null; } ListNode preNode=null; ListNode nextNode=nu...原创 2018-09-02 21:45:49 · 106 阅读 · 0 评论 -
调整数组让其前半部分是偶数,后半部分是奇数
public class Solution { public void reOrderArray(int [] array) { if(array==null) { return; } int i=0; int j=array.length-1; whil...原创 2018-09-02 17:40:43 · 231 阅读 · 0 评论 -
完全背包(拼凑钱币)
链接:https://www.nowcoder.com/questionTerminal/178b912722ac42a2865057a66d4e7de2?orderByHotValue=1&questionTypes=000100&page=1&onlyReference=false来源:牛客网给你六种面额 1、5、10、20、50、100 元的纸币,假设每种币值的...原创 2018-09-07 19:29:57 · 237 阅读 · 0 评论 -
编程心得
1. 设计模式想好2. 日志异常处理想好3. 各个算法等实验细节先写好原创 2018-11-22 20:07:02 · 157 阅读 · 0 评论 -
二进制相加
public String addBinary(String a, String b) { String sa=a; String sb=b; if (a.length() < b.length()) { for (int i = 0; i < b.length() - a.length()...原创 2018-09-04 22:36:45 · 670 阅读 · 0 评论 -
coin change 322
You are given coins of different denominations and a total amount of money amount. Write a function to compute the fewest number of coins that you need to make up that amount. If that amount of money ...原创 2018-10-18 00:49:23 · 217 阅读 · 0 评论 -
Decode Ways
A message containing letters from A-Z is being encoded to numbers using the following mapping:'A' -> 1'B' -> 2...'Z' -> 26Given a non-empty string containing only digits, determine the ...原创 2018-10-08 22:38:53 · 141 阅读 · 0 评论 -
日期差值
import java.util.*;public class Main{ static int moDay [][]={{-1,31,28,31,30,31,30,31,31,30,31,30,31},{-1,31,29,31,30,31,30,31,31,30,31,30,31}}; public static void main(String [] args) {...原创 2018-10-16 23:45:30 · 208 阅读 · 0 评论 -
硬币找零问题的变种
动态规划解:import java.util.Scanner;public class Main { public static void main(String[] args) { // write your code here Scanner scanner=new Scanner(System.in); while (scanner.h...原创 2018-10-17 12:31:28 · 271 阅读 · 0 评论 -
并查集()
import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.Set;public class UnionFindForest&lt;T&gt;{ public Map&lt;T, UnionFindNode&gt; unionFindNodeMap =null;...原创 2018-11-09 11:38:49 · 120 阅读 · 0 评论 -
songchi最短路径
import java.util.*;class Node implements Comparable<Node> { int d = Integer.MAX_VALUE; Node previous = null; int x; int y; List<Node> nodeAdj = new ArrayList(); ...原创 2018-11-25 11:11:36 · 288 阅读 · 0 评论 -
bfs又写错了,感觉把dfs中的visited,所有容易带偏
//error Queue<SootMethod> sootMethodQueue = new LinkedList<>(); sootMethodQueue.offer(entryPoint); int count = 0; //不需要使用isChanged, dummymain可以到达所有组件,这些组件包含了app的...原创 2018-12-21 22:53:58 · 377 阅读 · 0 评论 -
递归组合都不会了?尼玛
def getCombinationExtraSet(extraList, index, selectExtraSet, oneExtraSet): if (index >= len(extraList)): # selectExtraSet.add(frozenset(oneExtraSet)) return extra = extraL...原创 2019-03-17 00:27:13 · 162 阅读 · 0 评论 -
快速排序
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ //* Definition for singly-linked list.cl...原创 2018-05-03 23:16:41 · 158 阅读 · 0 评论 -
记一次傻逼
for (int i=0;i<a.length();i++){a=a+"5";}原创 2018-09-04 22:33:56 · 170 阅读 · 0 评论 -
2018年字节跳动 双生词
import java.util.*;public class Main{ public static void main(String [] args) { Scanner sc=new Scanner(System.in); int t=sc.nextInt(); outer: for(int i=0;i<...原创 2018-08-25 23:00:35 · 371 阅读 · 0 评论 -
kmp
//注意java的contains并没有使用kmpimport java.util.*;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { ...原创 2018-08-25 22:39:30 · 329 阅读 · 0 评论 -
BFS都能写错!!!
//errorimport java.util.*;public class Solution { public static void solve(char[][] board) { if (board.length == 0) { return; } for (int i = 0; i <...原创 2018-07-25 00:45:50 · 118 阅读 · 0 评论 -
动态规划
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.For example, given the following triangle[ [2], [3,4], [6,5,...原创 2018-07-06 20:20:30 · 112 阅读 · 0 评论 -
网易2017内推笔试题
//有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名//学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,//你能返回最大的乘积吗?//错误解:(没有将d放进去,,,怎么将d考虑)因为你要已知一个放的位置,再找第二个的时候//你就必须在d范围之内。public class Main{ int f[][]...原创 2018-07-18 17:18:35 · 400 阅读 · 0 评论 -
work break II
import java.util.List;//超时import java.util.Set;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;public class Solution { private int dict_size_min=Integer.MAX_VALUE...原创 2018-06-26 20:00:23 · 147 阅读 · 0 评论 -
注意int的乘法 65536*65536
import java.util.Set;import java.util.HashSet;class Point { int x; int y; Point(int x, int y) { this.x = x; this.y = y; } Point() { }} // @Over...原创 2018-05-04 18:38:25 · 1519 阅读 · 0 评论 -
快速排序改进
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ //* Definition for singly-linked list. impo...原创 2018-05-04 16:38:07 · 280 阅读 · 0 评论 -
Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the short
import java.util.LinkedList;class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}class TreeNodeInfo{ TreeNode treeNode=null; ...原创 2018-04-21 16:21:13 · 320 阅读 · 0 评论 -
encode string with shortest length(路还很远)
#include <iostream>#include <string>#include <sstream>#include<map>using namespace std;string getSearchStr(int start,int i ,string src) { string searchstr=""; for(int原创 2017-10-10 16:03:03 · 427 阅读 · 0 评论 -
滴滴笔试题
import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO Auto-generated原创 2017-05-07 21:03:00 · 451 阅读 · 0 评论 -
模幂运算
//一开始写错了是因为模幂运算溢出#include <iostream>#include<cmath>#define mistakeP 0.0001using namespace std;bool Btest(int a,int n){int s=0; int t=n-1; do{ s++; t=t/2; }while(t % 2!=1); //int x=((int)pow原创 2016-12-27 19:45:01 · 598 阅读 · 0 评论 -
LV 八皇后
#include <iostream>#include <vector>#include <stack>#include<cstdlib>#define queenCount 16#define maxTryCount 1000000#define intMaxValue 2147483647#define exeCount 1000//每个stepVegas执行exeCount原创 2016-12-25 16:14:14 · 375 阅读 · 0 评论 -
p ,np ,npc
P:如果一个问题可以找到一个能在多项式的时间里解决它的算法,那么这个问题就属于P问题。 np: NP问题不是非P类问题。NP问题是指可以在多项式的时间里验证一个解的问题。NP问题的另一个定义是,可以在多项式的时间里猜出一个解的问题。比方说,我RP很好,在程序中需要枚举时,我可以一猜一个准。现在某人拿到了一个求最短路径的问题,问从起点到终点是否有一条小于100个单位长度的路线。它根据数据画好了图,转载 2016-03-23 21:46:41 · 531 阅读 · 0 评论