我想生成一个随机整数,0-9个数字,长度= 5.我试试这个:
function genRand(min,max) {
for (var i = 1; i <= 5; i++) {
var range = max - min + 1;
return Math.floor(Math.random()*range) + min;
}
}
Run Code Online (Sandbox Code Playgroud)
并致电:
genRand(0,9);
Run Code Online (Sandbox Code Playgroud)
但它总是返回1个数字,而不是5个(
请帮忙!
我需要将一些值传递给fseek()C中的方法,该值大于signed long类型的最大值(2147483647).但如果我喜欢下面结果的值是-1,这是不成功的.无论如何我能做到这一点吗?
//fp is the pointer to fopen method
unsigned long long index=2147483648;
int status = fseek(fp, index, SEEK_SET);
Run Code Online (Sandbox Code Playgroud) 好吧,也许标题有点令人困惑,但我想要做的是有这样的功能:f (a:b:c:d:is) = ...但能够参考a:b:c:d而不再写它.事实证明,我不能做类似的事情e@(a:b:c:d):is并获得预期的结果.有任何想法吗?
我有一个简单的基于attoparsec的pdf解析器.它一直正常工作,直到与iteratee一起使用.当输入的大小超过缓冲区大小时.
import qualified Data.ByteString as BS
import qualified Data.Iteratee as I
import qualified Data.Attoparsec as P
import qualified Data.Attoparsec.Iteratee as P
import System.Environment (getArgs)
import Control.Monad
import Pdf.Parser.Value
main :: IO ()
main = do
[i] <- getArgs
liftM (P.parseOnly parseValue) (BS.readFile i) >>= print -- works
I.fileDriverRandomVBuf 2048 (P.parserToIteratee parseValue) i >>= print -- works
I.fileDriverRandomVBuf 1024 (P.parserToIteratee parseValue) i >>= print -- DOES NOT works!!!
Run Code Online (Sandbox Code Playgroud)
输入:
<< /Annots [ 404 0 R 547 0 R ] …Run Code Online (Sandbox Code Playgroud) 我正试图解决平衡括号问题.我不想做连续的IO,宁愿只调用getLine并解析生成的字符串.因此,解决问题的函数将处理两种不同的状态:输入字符串的未消耗部分和括号堆栈.
我想设置一些操作堆栈的函数:
type Stack = String
pop :: Stack -> (Char,Stack)
pop (x:xs) = (x,xs)
push :: Char -> Stack -> ((),Stack)
push a xs = ((),a:xs)
Run Code Online (Sandbox Code Playgroud)
如果我在州monad运营,那就好了,不过我在StateT monad运营
balanced :: StateT Stack (State String) Bool
Run Code Online (Sandbox Code Playgroud)
我知道我被告知不要在堆栈中有重复的monad.我这样做是因为我喜欢它如何简化推送和流行定义.
两个问题:
这是代码的其余部分
next :: String -> (Maybe Char,String)
next "" = (Nothing,[])
next (x:xs) = (Just x,xs)
balanced = do
c <- lift (state next)
case c of
Nothing -> return True
Just c -> if elem c open
then (push …Run Code Online (Sandbox Code Playgroud) 我是NHibernate的新手,到目前为止一切都进展顺利,但我遇到了一个问题,我不确定如何解决问题.基本上我需要通过用户定义函数的输出进行过滤.如果我是用SQL编写的,这就是我写的:
declare @Latitude decimal
declare @Longitude decimal
declare @radius int
set @Latitude = -118.4104684
set @Longitude = 34.1030032
select *
from store
where dbo.CalculateDistance([Latitude], [Longitude], @Latitude, @Longitude) < @radius
Run Code Online (Sandbox Code Playgroud)
我已经看到了我认为不合适的公式属性,命名查询和创建自己的方言扩展的例子(这看起来有点过分了).我原本以为有更直接的方式去做,但我似乎无法找到一个整洁的例子.
如何将图像转换为二进制数据 .. ???
我想将转换后的二进制数据发送到另一台设备或Web服务器.
哪种机制最好这样做.
我想在插入元素时按排序顺序保留链表(列表中大约200000个元素),您可以推荐哪种算法?我使用插入排序做了一个简单的实现,但它的性能非常差(很多CPU使用率).
谢谢你的帮助.
我在合并排序和插入排序之间进行了一些比较,但似乎插入排序具有更好的性能,我对此结果有点困惑.你能告诉我什么是错的,是否有更好的算法?
我的代码(为简单起见,我省略了节点结构中的prev节点):
struct node {
int number;
struct node *next;
};
Run Code Online (Sandbox Code Playgroud)
插入排序:
void insert_node(int value) {
struct node *new_node = NULL;
struct node *cur_node = NULL;
struct node *last_node = NULL;
int found; /* 1 means found a place to insert the new node in, 0 means not*/
new_node = (struct node *)malloc(sizeof(struct node *));
if(new_node == NULL) {
printf("memory problem\n");
}
new_node->number = value;
/* If the first element */
if (head == NULL) {
new_node->next = …Run Code Online (Sandbox Code Playgroud) haskell ×5
c ×2
algorithm ×1
android ×1
attoparsec ×1
c++ ×1
image ×1
iterate ×1
javascript ×1
linked-list ×1
monads ×1
nhibernate ×1
objective-c ×1
parsing ×1
performance ×1
random ×1
sorting ×1
stack ×1