【app引流裂变源码】【hashmap源码1.8】【卷积投影源码】las源码

时间:2024-12-28 13:14:28 分类:正版精美视频源码 来源:h5夹娃娃游戏源码

1.lasԴ??
2.JavaScript之reduce()的用法
3.Linux中potree的环境配置及点云可视化

las源码

lasԴ??

       /* determine the amount of the change

       change = (paid - check) * ;

        determine the number of dollars in the change

       dollars = change / ;

       …

       (1). Using the previous statements as a starting point, write a C program

       that calculates the number of dollar bills( cents), quarters coins(

       cents), dimes coins ( cents), nickels coins (5 cents), and pennies coins (1

       cents) in the change when $ is used to pay a bill of $6..

       (2) Using the C program to calculate the change when a check of $.

       is paid using a $ bill.

       */

       #include "stdio.h"

       void getChange(int paid, float bill)

       {

        if (paid < bill)

        {

        printf("Your money cant paid for the bill!\n");

        return;

        }

        else

        {

        int remain;

        int dollor = 0,quarter = 0,dime = 0,nickel = 0,penny = 0;

        remain = (paid* - bill*)+0.5;

        dollor = remain/;

        printf("Change Dollors: %d\n",dollor);

        remain -= dollor*;

        quarter = remain/;

        printf("Change Quarters: %d\n",quarter);

        remain -= quarter*;

        dime = remain/;

        printf("Change Dimes: %d\n",dime);

        remain -= dime*;

        nickel = remain/5;

        printf("Change Nickels: %d\n",nickel);

        remain -=nickel*5;

        penny = remain;

        printf("Change Pennys: %d\n",penny);

        printf("Change finished!\n");

        }

       }

       void main()

       {

        int paid;

        float bill;

        printf("Please input your Paid($):");

        scanf("%d",&paid);

        printf("Please input your Bill($):");

        scanf("%f",&bill);

        printf("Your change is: \n");

        getChange(paid, bill);

       }

JavaScript之reduce()的用法

       首先,参考了这位大佬的总结,敲了一遍,收获很大。记录下来。参考链接

背景:

       之前是app引流裂变源码接触vue源码的时候,发现使用reduce的地方很多。当时也是在看别人分享,简单带过,发现很好用。简单研究后,很少用到。导致理解不深。今天碰到到使用场景,特意花时间研究了一番,可以说理解的很到位了。

语法arr.reduce(function(prev,cur,index,arr){ ...},init);

       其中,\arr表示原数组;\prev表示上一次调用回调时的返回值,或者初始值init;\cur表示当前正在处理的hashmap源码1.8数组元素;\index表示当前正在处理的数组元素的索引,若提供init值,则索引为0,否则索引为1;\init表示初始值。这个初始值在很多技巧上要用到,要重点留意

       在实际使用当中,其实常用的参数只有两个:prev和cur。结合例子来分析一番。

实例

       以下举的例子除了用reduce来实现,还有很多其他的卷积投影源码方法。不过使用reduce有它独有的技巧性和方便。

1、求数组的和

       方式一:

letarr=[3,4,5,6,9,2,4,6];letsum=arr.reduce((pre,cur,index,arr)=>{ //console.log('index:',index);//console.log('arr:',arr);returnpre+cur;})console.log(sum);

       方式二:

letsum=arr.reduce((pre,cur,index,arr)=>{ //console.log('index:',index);//console.log('arr:',arr);returnpre+cur;},0)console.log(sum);

       注意:方式二,由于传入了初始值0,所以pre的初始值就是0,cur的值,就是数组的第一个值为3;如果不传初始值的话,就如方式一,这时,retrofit 2.0源码pre的值是3,cur的值是4;相加后为7,作为下一轮的pre的值,cur是5,依次类推下去。

2、求数组的最大值

       方式一:

letarr=[1,4,5,6,9,2,4,6];letmax=arr.reduce((pre,cur)=>{ returnMath.max(pre,cur)})console.log(max);

       方式二:

letmax2=arr.reduce((pre,cur)=>{ returnpre>cur?pre:cur;})console.log('max2:',max2);3、给数组去重letnewArr=arr.reduce((pre,cur)=>{ pre.indexOf(cur)===-1&&pre.push(cur)returnpre},[])console.log(newArr);进阶用法1.求字符串中字幕出现的次数conststr='sfhjasfjgfasjuwqrqadqeiqsajsdaiwqdaklldflas-cmxzmnha';constres=str.split('').reduce((pre,cur)=>{ pre[cur]?pre[cur]++:pre[cur]=1;returnpre},{ })console.log('汇总次数:',res);2.数组转数组letarr1=[2,3,4,5,6,7];letnewArr1=arr1.reduce((pre,cur)=>{ pre.push(cur*cur)returnpre;},[])console.log('数组转数组:',newArr1);3.数组转对象letstreams=[{ name:'博士',id:1},{ name:'硕士',id:2},{ name:'本科',id:3}];letobj1=streams.reduce((pre,cur)=>{ pre[cur.id]=cur;returnpre;},{ })console.log('数组转对象:',obj1);高级用法1.多维的叠加执行操作

       例子:各科成绩占比不一样,求结果

constresult=[{ subject:'math',vue 关键源码score:},{ subject:'chinese',score:},{ subject:'english',score:},];constdis={ math:0.5,chinese:0.2,english:0.4};letres2=result.reduce((pre,cur)=>{ returndis[cur.subject]*cur.score+pre},0)console.log('多维叠加:',res2);

       加大难度:商品对应不同国家汇率不同,求价格

letarr=[3,4,5,6,9,2,4,6];letsum=arr.reduce((pre,cur,index,arr)=>{ //console.log('index:',index);//console.log('arr:',arr);returnpre+cur;})console.log(sum);、扁平一个二维数组letarr=[3,4,5,6,9,2,4,6];letsum=arr.reduce((pre,cur,index,arr)=>{ //console.log('index:',index);//console.log('arr:',arr);returnpre+cur;})console.log(sum);1

       多维数组扁平化

3、对象数组去重letarr=[3,4,5,6,9,2,4,6];letsum=arr.reduce((pre,cur,index,arr)=>{ //console.log('index:',index);//console.log('arr:',arr);returnpre+cur;})console.log(sum);、compose函数

       reduxcompose源码实现

letarr=[3,4,5,6,9,2,4,6];letsum=arr.reduce((pre,cur,index,arr)=>{ //console.log('index:',index);//console.log('arr:',arr);returnpre+cur;})console.log(sum);3

Linux中potree的环境配置及点云可视化

       为了在Linux环境中配置Potree并实现点云可视化,请确保你的电脑已安装Node.js和Gulp,若已安装,直接跳至第三步。

       一、安装Node.js

       二、安装Gulp

       三、安装Potree

       在终端依次执行以下命令,Potree的安装目录下应出现一个名为“build”的文件夹。

       四、PotreeConverter安装

       要实现Potree可视化,需使用特定格式的数据。因此,需将txt、las等数据转换为Potree所定义的格式。首先安装LAStools,这将配置好PotreeConverter所需的依赖。

       四、LAStools安装

       四、PotreeConverter

       若在转换过程中遇到TBB.camke类错误,应采用源码方式安装tbb库,避免使用apt-get install libtbb-dev,以确保在编译链接PotreeConverter时不会出错。

       五、数据转换

       介绍几种数据转换方法。

       六、potree点云可视化

       完成以上步骤后,进入potree目录,运行npm start命令。接着,在浏览器中打开localhost:/examples链接,即可浏览examples中的文件并点击打开进行可视化。