lihongming:已知有一个长度为 26 的整型数组,分别代表 26 个字母的个数,问这些字母能组成多少种不同的字符串(取模 1000000007 )。
我本来觉得挺简单,不就是迭代吗?抬手就来
int calc(int[] nums) {
int ret = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] > 0) {
nums[i]--;
ret += calc(nums);
ret %= 1000000007;
nums[i]++;
}
}
return ret > 0 ? ret : 1;
}
结果效率太差,不行。
我又想用数学的方法直接算,可脑子怎么也想不起该怎么算了,求大佬们指点。
xuanbg:2^32^26
lihongming:想起来了,应该是各数之和的阶乘除以各数的阶乘
(A + B + C + ...)! / (A! * B! * C! * ...)
我正在尝试此方法,但无法存储较大的价值$var = rand(100000000000000,999999999999999); echo $var; // prints a 9 digit value(largest possible) 如何获得期望值? 参考方案 PHP整数通常为32位。其他软件包提供了更高精度的整数:http://php.net/man…
有什麼單機的、能管理資源分配的任務調度庫/框架?rix:能動態添加任務,任務之間有依賴關係,任務需要分配系統資源,如硬盤、帶寬、內存、CPU 等等。任務完成後會有臨時資源傳遞給下游任務。當所有下游任務使用完臨時資源後能自動釋放資源( reference count )。調度算法能合理分配資源,避免硬盤、帶寬、內存、CPU 超載等等。 任務僅限單機運行,不考慮分佈式場景。當然如果有分佈式的方案能適用於單機的…
一道算法题,请教一下salamanderMH:问题 有砝码 1g,2g,3g...100g,组成 100g 的重量有几种方式? 这道题应该可以用动态规划做,但一下子没想出来(太渣了) 写了一个回溯的算法,但效率太差了: function counterweightWays(currentNum, allNum, leftWeight, tmpResult, result) { …
为什么我的按位运算不能在Java中与`int`一起使用? - java我刚得到以下编译器错误:./package/path/FrameScreenPosition.java:80: incompatible types found : int required: boolean if (frame.getExtendedState() & Frame.MAXIMIZED_BOTH) { ^ “扩展状态”是各种不同状态的…
怎么撸三个数据类型的集合ligiggy:基于 C#,需要建立一个数量大概在几百的,为<int,string,string>的集合,目前的想法有如下两种: Tuple<int,string,string>很好实现,但是可读性很差 采用面对对象的思想,建立三个对应属性,然后用数组将数据结合起来 想知道,还有没有其他更好的办法