算法学习
文章平均质量分 85
luuyiran
code from 2018
展开
-
图形学之光线与三角形求交
三角形平面内任意点P可由三角形三个顶点表示:P=wA+uB+vCP = wA + uB + vCP=wA+uB+vC根据重心坐标性质w + u + v = 1:P=(1−u−v)A+uB+vCP = (1 - u - v)A + uB + vCP=(1−u−v)A+uB+vCP=A−uA−vA+uB+vC=A+u(B−A)+v(C−A)P=A - uA - vA + uB + vC = A + u(B - A) + v(C - A)P=A−uA−vA+uB+vC=A+u(B−A)+v(C−A)光线原创 2021-04-16 00:30:05 · 1604 阅读 · 0 评论 -
关于位操作
有符号类型用最高位表示,正数最高位0;复数最高位1;负数用正数的反码加1表示(即用正数的补码表示),比如一个4位的类型:+7[0111],反码 ->[1000],反码加1 ->[1001].最终这个[1001]即+7[0111]的补码。一个机器4位:正数范围[0001]~[0111],即1-7,[2^3-1]负数范围[1000]~[1111],即-8至-1[1000]为何为-8?从补码反推:先减一变为[0111],再取反码,[1000]->8[1111]为何为-1?从补原创 2020-05-16 13:52:31 · 309 阅读 · 0 评论 -
二进制字符串的所有可能组合
1.数据以0和1二进制的形式传输,由于网络噪声,一些位数接收变成'?",找出所有可能的组合。(中兴2018.9.15)测试用例:Testcase 1:Input:11100??11Expected Return Value:111000011 111000111 111001011 111001111Testcase 2:Input:?01??00...原创 2018-09-15 11:39:29 · 1578 阅读 · 0 评论 -
排序算法总结
//SortTestHelper.h#ifndef _QUICK_SORT_THREE_WAYS_SORTTESTHELPER_H#define _QUICK_SORT_THREE_WAYS_SORTTESTHELPER_Hnamespace SortTestHelper { vector<int> generateRandomArray(int n, int ran...原创 2018-06-22 23:15:23 · 269 阅读 · 0 评论 -
利用栈进行进制转换
用递归和栈进行简单进制转换。#include<stdio.h>#include<stdlib.h>#define N 10000struct stack{ int top; //栈顶 int data [N];};struct stack selfstack = { -1,{0} }; //栈的初始化int isempty() ...原创 2017-11-08 17:30:49 · 991 阅读 · 0 评论 -
把一个整数颠倒过来,123变成321
//main.c#include <stdio.h>//①for语句计算有多少位int length_for(int num){ int len = 0; for (int i = num; i != 0; i /= 10) len++; return len;}//②goto求取位数int length_go(int n...原创 2017-11-07 20:41:42 · 8388 阅读 · 0 评论 -
求所有的三位水仙花数
#include <stdio.h>//求一个三位数的水仙花数//345 345%10=5 894%10=4//345 345/10=34 34%10=4//345 345/100=3int main(){ for (int i = 100; i != 1000; ++i){ int ge = i % 10; i...原创 2017-11-07 21:27:29 · 3505 阅读 · 0 评论 -
简单实现二分查找
二分查找原创 2017-11-07 15:26:13 · 466 阅读 · 0 评论