Algorithm
__BMGT()
___
展开
-
C++ 输出随机字符
【代码】C++ 输出随机字符。原创 2024-08-01 00:04:45 · 127 阅读 · 0 评论 -
算法,简单得出文章所有单词
扫描一个英文字符串中的单词原创 2022-06-11 13:28:30 · 232 阅读 · 1 评论 -
JavaScript ArrayBuffer变成base64编码
array buffer to base64转载 2022-06-10 16:48:11 · 1691 阅读 · 0 评论 -
常用混音算法
混音算法转载 2022-06-05 00:03:29 · 1699 阅读 · 0 评论 -
Godot 线性插值
interpolation = A * (1 - t) + B * tinterpolation = A + (B - A) * tposition = $A.position.linear_interpolate($B.position, t)用线性插值得到二次贝塞尔曲线func _quadratic_bezier(p0: Vector2, p1: Vector2, p2: Vector2, t: float): var q0 = p0.linear_interpolate(.转载 2022-05-02 15:38:21 · 420 阅读 · 0 评论 -
Math Vector Product Note
转载 2022-04-27 18:13:17 · 101 阅读 · 0 评论 -
Shader 模拟光照算法
设置球体 坐标:x = R×cosaxcosb; y = R×cosaxsinb; z = R×sina环境光 散射光 镜面光光照算法应用于shader脚本,光照物体顶点着色器 :#version 300 esuniform mat4 uMVPMatrix; //总变换矩阵uniform mat4 uMMatrix; //变换矩阵uniform vec3 uLightDirection; //定向光方向uniform vec3 uCame...转载 2022-04-23 20:38:56 · 438 阅读 · 0 评论 -
将id树转化为对应name树(树节点名转义)
//获取所有节点id private void travelObject(Object o, List<Long> ids) { Class<?> oClass = o.getClass(); if (String.class.isAssignableFrom(oClass)) { String os = (String) o; if (os.contains(":")) { ...原创 2022-02-14 11:48:09 · 366 阅读 · 0 评论 -
Android px <=> dp
public final int dpToPixels(int dp) { return (int) (dp * getResources().getDisplayMetrics().density + 0.5); } public final int pixelsToDp(int px) { return (int) (dp / getResources().getDisplayMetrics().density + 0.5); }转载 2021-11-15 13:42:10 · 72 阅读 · 0 评论 -
Javascript 用减法实现GCD
/** * Iterative version of Euclidean Algorithm of finding greatest common divisor (GCD). * @param {number} originalA * @param {number} originalB * @return {number} */export default function euclideanAlgorithmIterative(originalA, originalB) { // Ma.转载 2021-11-10 20:38:37 · 204 阅读 · 0 评论 -
Kotlin 位操作算法
package algimport pimport java.math.BigIntegerimport java.util.*fun getBit(number:Int,bitPosition:Int): Int {// return (number shr bitPosition).and(1); return number shr bitPosition and 1;}fun setBi(number:Int,bitPosition:Int): Int {...转载 2021-11-01 14:38:52 · 311 阅读 · 0 评论 -
Java 生成验证码参考
BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g2d = (Graphics2D) bi.getGraphics(); // 填充背景 g2d.setColor(Color.WHITE); g2d.fillRect(0, 0, width, height); .转载 2021-09-14 22:24:22 · 110 阅读 · 0 评论 -
二进制怎么存储浮点数
浮点数二进制存储二进制转十进制浮点数(2字节 16位)二进制算十进制浮点数(模拟)传参是一个二进制数的数组,0和1组成的数组 /** * Sequence of 0s and 1s. * @typedef {number[]} Bits *//** * @typedef {{ * signBitsCount: number, * exponentBitsCount: number, * fractionBitsCount: number, * }}.转载 2021-09-08 19:03:22 · 351 阅读 · 0 评论 -
编译原理 first follow 先简单理解
1.first集合和follow集合都是终结符的集合。2.first集合是"自己"的开始终结符。3.follow集合是除开"自己"后面跟着的第一个终结符。4.first集合和follow集合是对于非终结符“自己(大写字母)”的首(小写字母)和非终结符“自己(大写字母)”后面跟着“不属于自己(大写字母)”的尾首(小写字母)。eg. A -> aBcfirst(A) = {a} “->” 代表可替换为右边的式子,也就是“自己”,first属于“自己”follow(B) = .原创 2021-09-07 21:22:17 · 1801 阅读 · 0 评论 -
C++ 简单的虚拟机
/* A more advanced version of the VM*/#include <stdio.h>#include <stdbool.h>#include <stdlib.h>#define STACK_SIZE 256static int stack[STACK_SIZE];/** Instructions */typedef enum { HLT, // 0 -- hlt :: halt.转载 2021-09-07 18:23:15 · 968 阅读 · 0 评论 -
Java Excel转换列号(0 based)为字母索引
char[] letters={ 'A','B','C','D','E','F','G', 'H','I','J','K','L','M','N', 'O','P','Q','R','S','T','U', 'V','W','X','Y','Z' }; StringBuffer sb = new StringBuffer();// .原创 2021-08-23 10:07:15 · 264 阅读 · 0 评论 -
JavaScript 生成定长随机字符串
ids = ["0", "10"];values = ["A","B"];var letters = [];//生成26个字母for(var i=0;i<26;i++){ letters.push(String.fromCharCode('A'.charCodeAt()+i));}console.log(letters);//随机字符长度length = 5;out = "";//生成多少个随机字符串for(var k = 0;k<values.len.原创 2021-08-04 19:15:24 · 325 阅读 · 0 评论 -
Java CRC32
// SevenZip/CRC.javapackage SevenZip;public class CRC{ static public int[] Table = new int[256]; static { for (int i = 0; i < 256; i++) { int r = i; for (int j = 0; j < 8; j++) if ((r & 1) != 0) r = (r >>> 1.转载 2021-03-13 00:04:02 · 216 阅读 · 0 评论 -
C# YUV4202RGB 工具方法
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;namespace YUV4202RGB{ public static class YUVHelper { /// <summary> /// YUV420图片字节数据保存为.bmp图片 /// </summary.转载 2021-02-03 18:31:24 · 528 阅读 · 1 评论 -
Java 二进制处理
package com.xiuye.util.merge;import java.io.IOException;import java.io.OutputStream;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import java.util.Objects;import com.xiuye.util.Pointer;import com.xiuye.util.log..原创 2021-01-26 10:00:42 · 450 阅读 · 0 评论 -
Java 工具方法 首字母大写,类字段map映射,对比字段赋值
public static Map<String, Field> getPropertyMap(Class<?> clazz) { Map<String, Field> ret = map(); for (Field f : clazz.getDeclaredFields()) { ret.put(f.getName(), f); } return ret; }...原创 2021-01-13 10:52:11 · 675 阅读 · 1 评论 -
Java 以逗号合并多组数据
private void appendValueWithComma(Object srcVo, Object destVo) { try { Class<?> destClazz = destVo.getClass(); Class<?> srcClazz = srcVo.getClass(); Field[] fs = destClazz.getDeclaredFields(); .原创 2021-01-08 17:57:17 · 450 阅读 · 0 评论 -
JavaScript 移除下划线驼峰命名、替换字符串、数据库字段映射转换...
let arr = [ "phase_a1","phase_a2","phase_b1","phase_b2"];// let vals = ['B', 'C', 'E', 'F', '1', '2', '4', '5'];let vals = ['A', 'D', '0', '3'];function templateReplaceCaseWhen(keys, values) { let ret = 'count('; for (let key of keys) { .原创 2021-01-07 17:42:15 · 495 阅读 · 0 评论 -
Java 使用BigDecimal,正弦函数sin(x)级数计算其值
private static BigDecimal bigDecimal(String val){ return new BigDecimal(val); } public static BigDecimal sin3(BigDecimal x) { //把大于 -2PI 和 2PI 的值放入区间内 BigDecimal rSign = bigDecimal("1");// int rSign = 1; i.原创 2020-12-02 09:52:29 · 1253 阅读 · 0 评论 -
Java 通过sin(x)和cos(x)幂级数 编程计算其结果
package com.xiuye.util.algorithm.basics;import com.xiuye.util.X;import java.math.BigDecimal;import java.math.BigInteger;public class Sin { /** * y = 0.987862x - 0.155271x^3 + 0.00564312x^5 * * @param c * @return */ .原创 2020-12-01 17:25:46 · 688 阅读 · 0 评论 -
Java 通过牛顿迭代法,二分法,截弦法 实现求平方根sqrt
package com.xiuye.util.algorithm.basics;import com.xiuye.util.X;public class Sqrt { //牛顿迭代法 public static double sqrt1(double c) { X.lg("sqrt1:", c); if (c < 0) return Double.NaN; double err = 1e-15; double .原创 2020-11-29 17:31:17 · 633 阅读 · 0 评论 -
Java 矩阵乘法
package com.xiuye.util.algorithm.basics;import com.xiuye.util.X;import java.util.Random;public class Matrix { /** * A[i][s] * B[s][j] = c[i][j] * @param a * @param b * @return */ public static int[][] dot(int a[][],i.原创 2020-11-28 16:54:53 · 371 阅读 · 0 评论 -
Java 简单转化驼峰命名为下划线命名
<T> String generateMapperUpdateSet(Class<T> beanClass){ StringBuffer stringBuffer = new StringBuffer(); Field[] fields =beanClass.getFields(); fields = beanClass.getDeclaredFields(); for (Field field : fields) .原创 2020-11-22 14:34:38 · 507 阅读 · 0 评论 -
Java log(...args) 可变参数打印log
void log(Object ...args){ if(args.length==0){ System.out.println(); return; } int i=0; for (;i<args.length-1;i++){ System.out.print(args[i]+" "); } if(i<args.length).原创 2020-11-22 14:18:03 · 934 阅读 · 0 评论 -
Java 阿拉伯数字 转 汉字
private static String [] numbers = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十" }; private static String.原创 2020-11-06 13:57:26 · 242 阅读 · 0 评论 -
How to write a Shell CLI?
package clientimport ( "bufio" "fmt" "os")type Shell interface { Run()}type shell struct { client Client}func NewShell(client Client) *shell { return &shell{ client: client, }}func (s *shell) Run() { defer s.client.Close() te.转载 2020-10-23 09:30:07 · 177 阅读 · 0 评论 -
Go 仿SQL解析
仿SQL结构:<begin statement> begin [isolation level (read committed|repeatable read)] begin isolation level read committed<commit statement> commit<abort statement> abort<create statement> create table &转载 2020-10-16 17:01:33 · 315 阅读 · 0 评论 -
if else 优化为一句
if(n>0){ set(true);}else{ set(false);}<=>set(n>0);原创 2020-09-11 16:26:52 · 205 阅读 · 0 评论 -
C++ 寻找两个正序数组的中位数
给定两个大小为 m 和 n 的正序(从小到大)数组nums1 和nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。你可以假设nums1和nums2不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 (2 + 3)/2 = 2.5class Solution {public:...转载 2020-09-03 17:27:15 · 439 阅读 · 0 评论 -
C++ 两数相加
给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807/** * Definition for singl...原创 2020-09-02 17:17:00 · 1197 阅读 · 0 评论 -
Java 字符串匹配算法
package com.ec.xy.app.algorithm;import com.xiuye.sharp.X;import com.xiuye.util.cls.XType;import com.xiuye.util.log.XLog;public class KMP { private static int[] getNext(String p) { int [] next = XType.newInstance(int[]::new,p.length()); n.转载 2020-09-02 16:27:29 · 182 阅读 · 0 评论 -
Java 单词查找树 (256Node数组?指向下一个节点是什么原理?)
package com.xiuye.util.string;import com.xiuye.util.cls.XType;import com.xiuye.util.log.XLog;public class TrieST <V>{ private static int R = 256; private Node root; private static class Node{ private Object val; pri.转载 2020-08-30 20:32:21 · 177 阅读 · 0 评论 -
Java 字符串堆排序
package com.ec.xy.app.algorithm;import java.util.Arrays;import java.util.List;import java.util.Objects;import com.xiuye.util.cls.XType;import com.xiuye.util.log.XLog;public class StringMinHeapSort { // 堆排序内部是使用数组保存节点值 // 逻辑上是一颗完美二叉树,保存在数组这个线性空.原创 2020-08-29 15:49:09 · 298 阅读 · 0 评论 -
MinPQ 越小优先级越高的优先级队列 基于单向链表
package com.ec.xy.app.algorithm;import java.util.Objects;import com.xiuye.sharp.X;import com.xiuye.util.cls.XType;public class MinPQ<T extends Comparable<T>> { //基于链表的优先级队列 private Node<T> head; private Node<T> tail; .原创 2020-08-28 10:08:06 · 319 阅读 · 0 评论 -
字符串三向排序
package com.xiuye.util.string;public class Quick3String { private static int charAt(String s,int d){ if(d<s.length()){ return s.charAt(d); } else{ return -1; } } public static voi.原创 2020-08-23 16:13:54 · 139 阅读 · 0 评论